Funzione php file_get_contents

Funzione php file_get_contents
PHP contiene molte funzioni integrate per leggere il contenuto di qualsiasi file non vuoto esistente. File_get_contents () è una delle funzioni integrate di PHP per leggere l'intero contenuto di un file esistente come stringa. La sintassi di questa funzione è riportata di seguito.

Sintassi:

Questa funzione può richiedere cinque argomenti. Restituisce l'intero o particolare contenuto di un file se il file esiste altrimenti restituisce falso.

String | false file_get_contents (String $ fileName [, bool $ use_include_path = false [, risorsa $ context [, int $ offset = 0 [, int $ maxlen]]]])
  • Il primo argomento è obbligatorio e prende il nome file che verrà letto da questa funzione.
  • Il secondo argomento è facoltativo e il valore predefinito di questo argomento è falso. Il valore di questo argomento è impostato su true, quindi il file verrà cercato nel percorso utilizzato In Include_Path valore del PHP.ini file.
  • Il terzo argomento è facoltativo che viene utilizzato per specificare la risorsa di contesto valida o NULL.
  • Il quarto argomento è facoltativo che viene utilizzato per impostare la posizione iniziale per la lettura del contenuto del file.
  • Il quinto argomento è facoltativo che viene utilizzato per impostare la durata massima dei dati che verrà letto dal file.

Usi diversi della funzione file_get_contents ()

Crea o seleziona un file esistente per la lettura utilizzando file_get_contents (). Qui, un file di testo chiamato sistema operativo.TXT è stato creato con il seguente contenuto da utilizzare negli esempi di questo 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

Esempio-1: leggi l'intero file

Crea un file PHP con il seguente script per leggere il contenuto di un file esistente. IL il file esiste() La funzione è stata utilizzata per verificare che il file esista o meno prima di leggere. IL is_readable () La funzione è stata utilizzata per verificare l'autorizzazione di lettura del file. Se il file esiste e il file ha l'autorizzazione di lettura, il contenuto del file verrà stampato utilizzando il file_get_contents () funzione.

// Imposta un nome file
$ fileName = 'OS.TXT';
// Controllare che il file esista o no
Se (!file_exists ($ nome file))
Il file echo 'non esiste.';

// Controllare il file ha l'autorizzazione di lettura o no
altro se (!is_readable ($ fileName))
Il file echo 'non ha autorizzazione di lettura.';

// Stampa l'intero contenuto del file
altro
echo file_get_contents ($ nome file);
?>

Produzione:

Il seguente output apparirà eseguendo lo script sopra. Qui, la nuova linea è stata omessa.

Esempio-2: leggi parzialmente il file

Crea un file PHP con il seguente script per leggere una parte particolare di un file invece di leggere il contenuto completo utilizzando il file_get_contents () funzione. Qui, il nome file verrà preso dal parametro della query URL. Successivamente, l'esistenza e l'autorizzazione di lettura del file verranno controllate. La parte particolare del file leggerà in base alla posizione iniziale positiva e alla lunghezza e alla posizione iniziale negativa e alla lunghezza.

// Controllare che il nome file è fornito nel parametro di query URL o no
if (isset ($ _ get ['fn'])

// Imposta un nome file
$ fileName = $ _get ['fn'];
// Controllare che il file esista o no
Se (!file_exists ($ nome file))
Il file echo 'non esiste.';

// Controllare il file ha l'autorizzazione di lettura o no
altro se (!is_readable ($ fileName))
Il file echo 'non ha autorizzazione di lettura.';

altro

// Stampa la parte particolare del file in base alla posizione iniziale positiva
eco "Output per la posizione iniziale positiva:
".file_get_contents ($ nome file, null, null, 5, 30);
// Stampa la parte particolare del file in base alla posizione iniziale negativa
eco "
Output per la posizione iniziale negativa:
".file_get_contents ($ nome file, null, null, -24,
20);


altro
// Stampa messaggio se il nome file non viene trovato
echo "Il nome file non ha dato."
?>

Produzione:

Il seguente output apparirà eseguendo lo script sopra senza dare il nome file nell'URL.

Il seguente output verrà visualizzato l'esecuzione dello script sopra se il nome file, sistema operativo.TXT è riportato nel parametro URL che è stato creato prima.

Il seguente output verrà visualizzato l'esecuzione dello script sopra se è riportato un file di non esistenza nel parametro URL.

Esempio-3: leggi il file utilizzando il parametro Include_Path

Il valore del include_path Il parametro deve essere impostato in PHP.ini file. Il percorso di questo file su Ubuntu è '/etc/php/8.0/apache2/php.ini '. Apri il file e imposta il percorso del file da dove verrà letto il file. Il secondo argomento del file_get_contents () è necessario impostare VERO O File_use_include_path per leggere il file dal percorso definito in Include_Path parametro.

// Imposta un nome file
$ fileName = 'clienti.TXT';
// Imposta il secondo valore dell'argomento su true
eco "Output-1:
".file_get_contents ($ fileName, true);
// Imposta il secondo valore dell'argomento su file_use_include_path
eco "
Output-2:
".file_get_contents ($ fileName, file_use_include_path);
?>

Produzione:

Il seguente output apparirà eseguendo lo script sopra.

Esempio-5: leggi il contenuto di un URL usando Curl

È necessario installare la libreria Curl PHP per leggere il contenuto di un indirizzo URL. Esegui il comando seguente per installare il modulo Curl PHP.

$ sudo apt Installa libapache2-mod-php php-curl

Apri il PHP.ini archiviare e rimuovere il punto e virgola (;) dall'estensione del ricciolo per abilitarlo.

Crea un file PHP con il seguente script per leggere il contenuto di un indirizzo URL che verrà fornito nel parametro di query URL denominato URL. Se esiste l'indirizzo URL, verrà stampato il contenuto dell'indirizzo URL.

// Controllare che l'indirizzo URL è fornito nel parametro della query URL o no
if (isset ($ _ get ['url'])

// Imposta il valore URL
$ url = $ _get ['url'];
// Usa la libreria Curl per verificare l'esistenza dell'URL
$ curl = curl_init ($ url);
CURL_SETOPT ($ CURL, CURLOPT_NOBODY, TRUE);
if (Curl_exec ($ CURL) !== FALSE)
// Leggi la pagina dell'indirizzo URL
echo file_get_contents ($ url);
altro
Echo "URL non esiste.";

altro
Echo "Il valore dell'URL non ha dato.";
?>

Produzione:

Il seguente output verrà visualizzato l'esecuzione dello script sopra se non viene fornito alcun indirizzo URL.

Il seguente output verrà visualizzato l'esecuzione dello script precedente se l'indirizzo URL valido, 'https: // linuxhint.com/bash_comments/' viene data.

Esempio-6: leggi il contenuto dell'URL usando il contesto del flusso

Crea un file PHP con il seguente script per leggere il contenuto di un indirizzo URL valido utilizzando Stream_Context_Create () e File_Get_Contents (). Qui, il secondo e il terzo argomento di file_get_contents () ha usato per leggere il contenuto di 'http: // www.esempio.com/'.

// Crea stream per il contenuto di lettura dell'URL
$ options = array (
'http' => array (
'Method' => "get",
'header' => "accetta-lingua: en \ r \ n"
)
);
// Imposta il valore di contesto
$ context = stream_context_create ($ options);
// Leggi il contenuto dell'URL utilizzando le intestazioni HTTP
echo file_get_contents ('http: // www.esempio.com/', false, $ contesto);
?>

Produzione:

Il seguente output apparirà eseguendo lo script sopra.

Conclusione

I diversi modi per leggere il contenuto di un file da diverse posizioni e indirizzi URL utilizzando file_get_contents () hanno mostrato in questo tutorial. Spero che l'utente PHP sia in grado di utilizzare questa funzione correttamente dopo aver letto questo tutorial.