file
PHP Manual
PHP Manual»Funciones del Sistema de Archivos»file

file

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

file — Lee el fichero y devuelve el resultado en un array

Descripción

function 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

Un contexto de flujo de tipo resource.

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:

Antes de PHP 8.1.0, la opción de configuración en tiempo de ejecución auto_detect_line_endings se podía activar para ayudar a PHP a reconocer correctamente los finales de línea al leer ficheros creados en sistemas Macintosh. Esta opción está obsoleta a partir de PHP 8.1.0. Si es necesario, en su lugar se deben gestionar manualmente los saltos de línea "\r".

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.

Véase también

To Top