file
(PHP 4, PHP 5)
file — Lee un archivo entero hacia una matriz
Descripción
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.
TipPuede 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
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.