(PHP 4 >= 4.3.0, PHP 5)
file_get_contents — Transmite un archivo entero a una cadena
Esta función es similar a file(), excepto que file_get_contents() devuelve el archivo a un string, comenzando por el offset especificado hasta maxlen bytes. Si falla, file_get_contents() devolverá FALSE.
file_get_contents() es la manarea preferida de transmitir el contenido de un archivo a una cadena. Usa técnicas de mapeado de memoria, si está soportado por su sistema operativo, para mejorar el rendimiento.
Note:
Si se está abriendo una URI con caracteres especiales tales como espacios, se necesita codificar la URI con urlencode().
Note:
El valor por defecto de maxlen no es realmente -1; sino que es un valor interno de PHP que significa copiar el flujo completo hasta que se alcance el final de archivo. La única manera de especificar este valor predeterminado es omitiéndolo de la lista de parámetros.
Nombre del archivo a leer.
Note:
Hasta PHP 5, FILE_USE_INCLUDE_PATH se puede usar para lanzar la búsqueda en include_path.
Un recurso de contexto válido creado con stream_context_create(). Si no se necesita usar un contexto a medida, se puede saltar este parámetro usando NULL.
El índice donde comienza la lectura en el flujo original.
Máxima longitud de la información leída. Lo predeterminado es leer hasta que se alcance el final de archivo. Observe que este parámetro se aplica al flujo procesado por los filtros.
Esta función devuelve la información leída o FALSE en caso de error.
Example #1 Obtiene y muestra el código fuente de la página de inicio de un sitio web
<?php
$página_inicio = file_get_contents('http://www.example.com/');
echo $página_inicio;
?>
Example #2 Buscar dentro de include_path
<?php
// <= PHP 5
$archivo = file_get_contents('./gente.txt', true);
// > PHP 5
$archivo = file_get_contents('./gente.txt', FILE_USE_INCLUDE_PATH);
?>
Example #3 Leer una sección de un archivo
<?php
// Lee 14 caracteres comenzando desde el carácter número 21
$sección = file_get_contents('./gente.txt', NULL, NULL, 20, 14);
var_dump($sección);
?>
El resultado del ejemplo sería algo similar a:
string(14) "lle Bjori Ro"
Example #4 Usar contextos de flujo
<?php
// Crea un flujo
$opciones = array(
'http'=>array(
'método'=>"GET",
'cabecera'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$contexto = stream_context_create($opciones);
// Abre el archivo usando las cabeceras HTTP establecidas arriba
$archivo = file_get_contents('http://www.example.com/', false, $contexto);
?>
Versión | Descripción |
---|---|
5.1.0 | Añadidos los parámetros offset y maxlen. |
5.0.0 | Añadido el soporte de contexto. |
Note: Esta función es segura binariamente.
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.
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.