Lee el fichero y devuelve el resultado en un array

# 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 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

- file_get_contents() - Lee todo un fichero en una cadena
- readfile() - Muestra un fichero
- fopen() - Abre un fichero o un URL
- fsockopen() - Abre un socket de conexión Internet o Unix
- popen() - Crea un puntero de archivo de proceso
- include - include
- stream_context_create() - Crea un contexto de flujo

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open