Forum und email

file

(PHP 4, PHP 5)

file — Lee un archivo entero hacia una matriz

Descripción

array file ( string $nombre_archivo [, int $banderas [, resource $contexto ]] )

Lee un archivo completo a una matriz.

Note: Es posible usar file_get_contents() para devolver el contenido de un archivo como una cadena.

Lista de parámetros

nombre_archivo

Ruta al archivo.

Tip

Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Lista de Protocolos/Envolturas Soportadas una lista de protocolos URL soportados

banderas

El parámetro opcional banderas puede ser una o más de las siguientes constantes:

FILE_USE_INCLUDE_PATH
Busca por el archivo en la ruta definida en include_path.
FILE_IGNORE_NEW_LINES
No agrega una nueva línea al final de cada elemento de la matriz
FILE_SKIP_EMPTY_LINES
Salta líneas vacías
FILE_TEXT
El contenido es devuelto en la codificación UTF-8. Es posible especificar una codificación diferente creando un contexto predeterminado. Esta bandera no puede ser usada junto con FILE_BINARY. Esta bandera está disponible únicamente desde PHP 6.
FILE_BINARY
El contenido es leído como datos binarios. Este es el comportamiento predeterminado y esta bandera no puede ser usada junto con FILE_TEXT. Esta bandera está disponible únicamente desde PHP 6.

contexto

Un recurso de contexto creado con la función stream_context_create().

Note: Soporte de contexto fue introducido con PHP.5.0.0.

Valores retornados

Devuelve el archivo en una matriz. Cada elemento de la matriz corresponde a una línea en el archivo, con el salto de línea aun incluido. Si ocurre un fallo, file() devuelve FALSE.

Note: Cada línea en la matriz resultante incluye el final de línea, a menos que se use FILE_IGNORE_NEW_LINES, así que aun necesita usar rtrim() si no quiere conservar el final de línea.

Note: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee archivos creados en un Macintosh (o leyendo archivos sobre uno), puede probar activando la opción de configuración auto_detect_line_endings.

Registro de cambios

Versión Descripción
6.0.0 Se agregó el soporte para las banderas FILE_TEXT y FILE_BINARY.
5.0.0 Se agregó el parámetro contexto
5.0.0 Antes de PHP 5.0.0 el parámetro banderas solo cubría include_path y éste parámetro era habilitado con 1.
4.3.0 file() se hizo segura con material binario

Ejemplos

Example#1 Ejemplo de file()

<?php
// Obtiene un archivo en una matriz. En este ejemplo usaremos HTTP
// para obtener el código fuente HTML de una URL.

$lineas file('https://www.example.com/');

// Recorrer nuestra matriz, mostrar el código HTML como código fuente
// HTML, y los números de línea también.
foreach ($lineas as $linea_num => $linea) {
    echo 
"Línea #<b>{$linea_num}</b> : " htmlspecialchars($linea) . "<br />\n";
}

// Otro ejemplo, obtengamos una página web como una cadena. Vea
// también file_get_contents().
$html implode(''file('https://www.example.com/'));
?>

Notes

Warning

Cuando se usa SSL, Microsoft IIS violara el protocolo, cerrando la conexion sin mandar un indicador close_notify. PHP avisara de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solucion a este problema es bajar el nivel de aviso de errores del sistema para que no incluya advertencias. PHP 4.3.7 y versiones posteriores detectan servidores IIS con este problema y suprime la advertencia. Si usais la funcion fsockopen() para crear un socket ssl://, tendreis que suprimir la advertencia explicitamente.