(PHP 4, PHP 5, PHP 7, PHP 8)
file — Lee el fichero y devuelve el resultado en un array
Lee el fichero y devuelve el resultado en un array.
Nota:
Puede utilizarse la función file_get_contents() para devolver el contenido de un fichero en un chaîne de caractères.
filename
Ruta de acceso al fichero.
Se puede emplear un URL como nombre de fichero con esta función si las envolturas de fopen han sido activadas. Véase fopen() para más información de cómo especificar el nombre de fichero. Véanse las Protocolos y Envolturas soportados; continen enlaces con información sobre las diferentes capacidades que tienen las envolturas, notas sobre su empleo, e información de cualquier variable predefinida que podría proporcionarse.
flags
El argumento opcional flags
puede ser
una o más de las siguientes constantes:
FILE_USE_INCLUDE_PATH
FILE_IGNORE_NEW_LINES
FILE_SKIP_EMPTY_LINES
FILE_NO_DEFAULT_CONTEXT
context
Un resource de contextos de flujos.
Devuelve el fichero en un array.
Cada elemento del array corresponde a una línea del fichero,
y los retornos de carro se colocan al final de la línea. Si ocurre un error,
file() devolverá false
.
Nota:
Cada línea del array resultante incluirá un final de línea, a menos que se utilice
FILE_IGNORE_NEW_LINES
.
Nota: 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.
A partir de PHP 8.3.0, se lanza una excepción ValueError
si el flags
contiene valores inválidos,
como FILE_APPEND
.
Emite un error de nivel E_WARNING
si el fichero
no existe.
Versión | Descripción |
---|---|
8.3.0 |
Se lanza una excepción ValueError para
cualquier valor inválido del flags .
|
Ejemplo #1 Ejemplo con file()
<?php
// Lee una página web en un array.
$lines = file('http://www.example.com/');
// Muestra todas las líneas del array como código HTML, con los números de línea
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
// Uso de flag
$trimmed = file('somefile.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 pueden detectar servidores IIS con este problema cuando se
abre un flujo usando https://
y suprime
la advertencia. Si usáis la función fsockopen() para crear un
socket ssl://
, tendréis que suprimir la advertencia
explicitamente.