(PHP 4, PHP 5)
file — Lee un archivo entero hacia una matriz
Lee un archivo completo a una matriz.
Note: Es posible usar file_get_contents() para devolver el contenido de un archivo como una cadena.
Ruta al archivo.
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
El parámetro opcional banderas puede ser una o más de las siguientes constantes:
Un recurso de contexto creado con la función stream_context_create().
Note: Soporte de contexto fue introducido con PHP.5.0.0.
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.
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 |
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('http://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('http://www.example.com/'));
?>
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.