file

(PHP 4, PHP 5, PHP 7, PHP 8)

fileLee el fichero y devuelve el resultado en un array

Descripción

file(string $filename, int $flags = 0, ?resource $context = null): array|false

Lee el fichero y devuelve el resultado en un array.

Nota:

Puede utilizarse la función file_get_contents() para devolver el contenido de un fichero en un string.

Parámetros

filename

Ruta de acceso al fichero.

Sugerencia

Puede utilizar una URL como nombre de archivo con esta función, si el gestor fopen ha sido activado. Véase fopen() para más detalles sobre cómo especificar el nombre del archivo. Consulte Protocolos y Envolturas soportados para más información sobre las capacidades de los diferentes gestores, las notas sobre su uso, así como la información sobre las variables predefinidas que proporcionan.

flags

El argumento opcional flags puede ser una o más de las siguientes constantes:

FILE_USE_INCLUDE_PATH
Busca el fichero en el include_path.
FILE_IGNORE_NEW_LINES
No añade nueva línea al final de cada elemento del array.
FILE_SKIP_EMPTY_LINES
Ignora las líneas vacías.
FILE_NO_DEFAULT_CONTEXT
No utiliza el contexto por omisión.

context

Nota: Un resource de contexto de flujo.

Valores devueltos

Devuelve el fichero en un array. Cada elemento del array corresponde a una línea del fichero, y los retornos de carro se colocan al final de la línea. Si ocurre un error, file() devolverá false.

Nota:

Cada línea del array resultante incluirá un final de línea, a menos que se utilice FILE_IGNORE_NEW_LINES.

Nota: Si PHP no reconoce correctamente los finales de línea al leer archivos que han sido creados o leídos en un Macintosh, la activación de la opción de configuración auto_detect_line_endings puede resolver el problema.

Errores/Excepciones

A partir de PHP 8.3.0, se lanza una excepción ValueError si el flags contiene valores inválidos, como FILE_APPEND.

Emite un error de nivel E_WARNING si el fichero no existe.

Historial de cambios

Versión Descripción
8.3.0 Se lanza una excepción ValueError para cualquier valor inválido del flags.

Ejemplos

Ejemplo #1 Ejemplo con file()

<?php
// Lee una página web en un array.
$lines = file('http://www.example.com/');

// Muestra todas las líneas del array como código HTML, con los números de línea
foreach ($lines as $line_num => $line) {
echo
"Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}

// Uso de flag
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

Notas

Advertencia

Cuando SSL es utilizado, el servidor IIS de Microsoft violará el protocolo al cerrar la conexión sin enviar un indicador close_notify. PHP lo reportará como "SSL: Fatal Protocol Error" cuando se llegue al final de los datos. Para evitar esto, el nivel de la directiva error_reporting debe ser bajado para no incluir los avisos. PHP puede detectar automáticamente los servidores IIS defectuosos al abrir el flujo utilizando https:// y suprimirá el aviso. Al utilizar fsockopen() para crear un socket ssl://, es responsabilidad del desarrollador detectar y suprimir el aviso.

Ver también