Función PHP File_Get_Contents

Función PHP File_Get_Contents
PHP contiene muchas funciones incorporadas para leer el contenido de cualquier archivo no vacío existente. El archivo_get_contents () es una de las funciones incorporadas de PHP para leer el contenido completo de un archivo existente como una cadena. La sintaxis de esta función se da a continuación.

Sintaxis:

Esta función puede tomar cinco argumentos. Devuelve el contenido total o particular de un archivo si el archivo existe de otra manera devuelve falso.

Cadena | false file_get_contents (string $ filename [, bool $ use_include_path = false [, recursos $ context [, int $ offset = 0 [, int $ maxlen]]]])
  • El primer argumento es obligatorio y se necesita el nombre de archivo que será leído por esta función.
  • El segundo argumento es opcional y el valor predeterminado de este argumento es falso. El valor de este argumento se establece en verdadero, entonces el archivo se buscará en la ruta que se usa En el incluido_path valor de la php.ini archivo.
  • El tercer argumento es opcional que se utiliza para especificar el recurso de contexto válido o nulo.
  • El cuarto argumento es opcional que se utiliza para establecer la posición inicial para leer el contenido del archivo.
  • El quinto argumento es opcional que se utiliza para establecer la longitud máxima de los datos que se leerán desde el archivo.

Diferentes usos de la función file_get_contents ()

Cree o seleccione un archivo existente para leer usando FINE_GET_GET_CONTENTS (). Aquí, un archivo de texto llamado sistema operativo.TXT se ha creado con el siguiente contenido para usar en los ejemplos de este tutorial.

sistema operativo.TXT

Windows 11
Windows 10
Windows 8
Windows 7
Ubuntu 20.10
Ubuntu 20.04
Ubuntu 19
Ubuntu 18
Ubuntu 17
MacOS Monterey 12.0.1
OS X El Capitan 10.11.6
Mac OS X Puma 10.1.5

Ejemplo-1: lea el archivo completo

Cree un archivo PHP con el siguiente script para leer el contenido de un archivo existente. El El archivo existe() la función se ha utilizado para verificar el archivo existe o no antes de leer. El is_readable () La función se ha utilizado para verificar el permiso de lectura del archivo. Si el archivo existe y el archivo tiene el permiso de lectura, el contenido del archivo se imprimirá utilizando el file_get_contents () función.

// establecer un nombre de archivo
$ FileName = 'OS.TXT';
// verificar el archivo existe o no
si (!file_exists ($ filename))
El archivo de echo 'no existe.';

// verificar el archivo tiene el permiso de lectura o no
más si (!is_readable ($ filename))
El archivo echo 'no tiene permiso de lectura.';

// imprima el contenido completo del archivo
demás
echo file_get_contents ($ filename);
?>

Producción:

La siguiente salida aparecerá ejecutando el script anterior. Aquí, se ha omitido la nueva línea.

Ejemplo-2: lea el archivo parcialmente

Cree un archivo PHP con el siguiente script para leer una parte particular de un archivo en lugar de leer el contenido completo utilizando el file_get_contents () función. Aquí, el nombre de archivo se tomará del parámetro de consulta de URL. A continuación, se verificará el permiso de existencia y lectura del archivo. La parte particular del archivo se leerá en función de la posición inicial positiva y la longitud y la posición inicial negativa y la longitud.

// verificar el nombre de archivo se proporciona en el parámetro de consulta de URL o no
if (isset ($ _ get ['fn']))

// establecer un nombre de archivo
$ filename = $ _get ['fn'];
// verificar el archivo existe o no
si (!file_exists ($ filename))
El archivo de echo 'no existe.';

// verificar el archivo tiene el permiso de lectura o no
más si (!is_readable ($ filename))
El archivo echo 'no tiene permiso de lectura.';

demás

// Imprima la parte particular del archivo basada en una posición inicial positiva
eco "Salida para la posición inicial positiva:
".file_get_contents ($ FileName, Null, Null, 5, 30);
// Imprima la parte particular del archivo basado en la posición inicial negativa
eco "
Salida para la posición inicial negativa:
".file_get_contents ($ FileName, NULL, NULL, -24,
20);


demás
// Imprimir mensaje si no se encuentra el nombre de archivo
Echo "El nombre de archivo no ha dado."
?>

Producción:

La siguiente salida aparecerá ejecutando el script anterior sin dar el nombre de archivo en la URL.

La siguiente salida aparecerá ejecutando el script anterior si el nombre de archivo, sistema operativo.TXT se da en el parámetro de URL que se ha creado antes.

La siguiente salida aparecerá ejecutando el script anterior si se proporciona algún archivo de no existencia en el parámetro URL.

Ejemplo-3: lea el archivo usando el parámetro incluir_path

El valor del incluir_path El parámetro debe establecerse en el php.ini archivo. La ruta de este archivo en Ubuntu es '/etc/php/8.0/apache2/php.ini '. Abra el archivo y establezca la ruta del archivo desde donde se lee el archivo. El segundo argumento del file_get_contents () se requiere para establecer verdadero o File_use_include_path para leer el archivo de la ruta definida en el incluido_path parámetro.

// establecer un nombre de archivo
$ FileName = 'CLIENTES.TXT';
// Establecer el segundo valor de argumento en verdadero
eco "Salida-1:
".file_get_contents ($ filename, true);
// Establecer el segundo valor de argumento en file_use_include_path
eco "
Salida-2:
".file_get_contents ($ filename, file_use_include_path);
?>

Producción:

La siguiente salida aparecerá ejecutando el script anterior.

Ejemplo-5: lea el contenido de una URL usando curl

Debe instalar la biblioteca PHP Curl para leer el contenido de una dirección de URL. Ejecute el siguiente comando para instalar el módulo PHP Curl.

$ sudo apt instalación libapache2-mod-php php-curl

Abre el php.ini Archivo y elimine el semicolon (;) de la extensión de curl para habilitarlo.

Cree un archivo PHP con el siguiente script para leer el contenido de una dirección de URL que se proporcionará en el parámetro de consulta de URL con nombre url. Si existe la dirección de URL, entonces se imprimirá el contenido de la dirección de URL.

// Verifique que la dirección de URL se proporcione en el parámetro de consulta de URL o no
if (isset ($ _ get ['url']))

// Establecer el valor de la URL
$ url = $ _get ['url'];
// Use la biblioteca de curl para verificar la existencia de la URL
$ curl = curl_init ($ url);
curl_setopt ($ curl, curlopt_nobody, true);
if (curl_exec ($ curl) !== Falso)
// Lea la página de la dirección de URL
echo file_get_contents ($ url);
demás
echo "URL no existe.";

demás
echo "El valor de la url no ha dado.";
?>

Producción:

La siguiente salida aparecerá ejecutando el script anterior si no se proporciona una dirección URL.

La siguiente salida aparecerá ejecutando el script anterior si la dirección de URL válida, 'https: // linuxhint.com/bash_comments/' es dado.

Ejemplo-6: lea el contenido de la URL usando el contexto de transmisión

Cree un archivo PHP con el siguiente script para leer el contenido de una dirección de URL válida usando las funciones stream_context_create () y file_get_contents (). Aquí, el segundo y tercer argumentos del archivo_get_contents () ha utilizado para leer el contenido de 'http: // www.ejemplo.com/.

// Crear transmisión para leer contenido de la URL
$ options = array (
'http' => array (
'Método' => "Get",
'Header' => "Aceptar-Language: en \ r \ n"
)
);
// Establecer el valor de contexto
$ context = stream_context_create ($ opciones);
// Lea el contenido de la URL usando los encabezados HTTP
echo file_get_contents ('http: // www.ejemplo.com/', falso, $ context);
?>

Producción:

La siguiente salida aparecerá ejecutando el script anterior.

Conclusión

Las diferentes formas de leer el contenido de un archivo de diferentes ubicaciones y direcciones de URL utilizando file_get_contents () se han mostrado en este tutorial. Espero que el usuario de PHP pueda usar esta función correctamente después de leer este tutorial.