Función idéntica a readfile(),
excepto que file() 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.
Es posible usar el parámetro opcional
usar_ruta_inclusion, y definirlo como "1",
si desea buscar por el archivo en include_path, también.
<?php // Obtiene un archivo en una matriz. En este ejemplo usaremos HTTP // para obtener el codigo fuente HTML de una URL.
$lineas = file('http://www.example.com/');
// Recorrer nuestra matriz, mostrar el codigo HTML como codigo fuente // HTML, y los numeros de linea tambien. foreach ($lineas as $linea_num => $linea) { echo "Línea #<b>{$linea_num}</b> : " . htmlspecialchars($linea) . "<br />\n"; }
// Otro ejemplo, obtengames una pagina web como una cadena. Vea // tambien file_get_contents(). $html = implode('', file('http://www.example.com/')); ?>
Sugerencia: 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 Apéndice L una lista de protocolos URL
soportados
Nota:
Cada línea en la matriz resultante incluye el final de
línea, así que aun necesita usar
rtrim() si no quiere conservar el final de
línea.
Nota: 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.
Nota:
A partir de PHP 4.3.0, puede usar
file_get_contents() para devolver el
contenido de un archivo como una cadena.
En PHP 4.3.0 file(), se volvió una
función segura con material binario.
Nota: Soporte de contexto fue
introducido con PHP.5.0.0.
Aviso
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.