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 chaîne de caractères.

Parámetros

filename

Ruta de acceso al fichero.

Sugerencia

Se puede emplear un URL como nombre de fichero con esta función si las envolturas de fopen han sido activadas. Véase fopen() para más información de cómo especificar el nombre de fichero. Véanse las Protocolos y Envolturas soportados; continen enlaces con información sobre las diferentes capacidades que tienen las envolturas, notas sobre su empleo, e información de cualquier variable predefinida que podría proporcionarse.

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

Un resource de contextos de flujos.

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 sufre problemas con PHP no reconociendo los finales de línea cuando lee o crea ficheros en Macintosh, puede probar de activar la opción de configuración en tiempo de ejecución auto_detect_line_endings para intentar 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 se usa SSL, Microsoft IIS violará el protocolo, cerrando la conexión sin mandar un indicador close_notify. PHP avisará de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solución a este problema es bajar el nivel de aviso de errores del sistema para que no incluya advertencias. PHP pueden detectar servidores IIS con este problema cuando se abre un flujo usando https:// y suprime la advertencia. Si usáis la función fsockopen() para crear un socket ssl://, tendréis que suprimir la advertencia explicitamente.

Ver también