(PHP 4, PHP 5)
file — Transfiere un archivo completo a una matriz
Transfiere un archivo completo a una matriz.
Note:
Puede usar file_get_contents() para devolver el contenido de una archivo como una cadena.
Ruta del archivo.
Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte Lista de Protocolos/Envolturas Soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.
El parámetro opcional flags puede ser una, o más, de las siguientes constantes:
Un recurso de contexto válido creado con la función stream_context_create().
Note: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Funciones de Flujos.
Devuelve el archivo a una matriz. Cada elemento de la matriz se corresponde con una línea del archivo, con el carácter nueva línea aún adjunto. Si falla, file() devuelve FALSE.
Note:
Cada línea en la matriz resultante incuirá el final de línea, a menos que se use FILE_IGNORE_NEW_LINES, por lo que aún necesita utilizar rtrim() si no quiere que el final de línea esté presente.
Note: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee o crea ficheros en Macintosh, puede probar de activar la opción de configuración en tiempo de ejecución auto_detect_line_endings para intentar resolver el problema.
Versión | Descripción |
---|---|
5.0.0 | Se añadió el parámetro context |
5.0.0 | Antes de PHP 5.0.0 el parámetro flags sólo cubría include_path y estaba habilitado con 1 |
4.3.0 | file() ahora es segura al trabajar con datos binarios |
Example #1 Ejemplo de file()
<?php
// Escribe un archivo en una matriz. En este ejemplo iremos a través de HTTP para
// obtener el código fuente HTML de una URL.
$líneas = file('http://www.example.com/');
// Recorre nuestra matriz, muestra el código fuente HTML como tal
// y muestra tambíen los números de línea.
foreach ($líneas as $num_línea => $línea) {
echo "Línea #<b>{$num_línea}</b> : " . htmlspecialchars($línea) . "<br />\n";
}
// Otro ejemplo, vamos a escribir una página web en una cadena. Vea también file_get_contents().
$html = implode('', file('http://www.example.com/'));
// Usando el parámetro opcional banderas a partir de PHP 5
$recortes = file('archivo.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>
Cuando se usa SSL, Microsoft IIS violará el protocolo, cerrando la conexión sin mandar un indicador close_notify. PHP avisará de esto con este mensaje "SSL: Fatal Protocol Error", cuando llegue al final de los datos. Una solución 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 usáis la función fsockopen() para crear un socket ssl://, tendréis que suprimir la advertencia explicitamente.