file

(PHP 4, PHP 5, PHP 7, PHP 8)

fileLegge l'intero file in un array

Descrizione

file(string $filename, int $flags = 0, ?resource $context = null): array|false

Legge l'intero file in un array.

Nota:

In alternativa è possibile usare file_get_contents() per estrarre il contenuto di un file sotto forma di stringa.

Elenco dei parametri

filename

Percorso del file.

Suggerimento

È possibile utilizzare una URL come un nome di file con questa funzione se fopen wrappers è stata abilitata. Vedere fopen() per maggiori informazioni su come specificare i nomi di file. Vedere Supported Protocols and Wrappers per i link verso le informazioni sulle capacità dei vari wrapper, note sul loro uso, informazioni sulle variabili predefinite che forniscono.

flags

Il parametro opzionale flags può essere uno, o più valori, delle seguenti costanti:

FILE_USE_INCLUDE_PATH
Cerca il file in include_path.
FILE_IGNORE_NEW_LINES
Ometterà newline alla fine di ogni elemento dell'array
FILE_SKIP_EMPTY_LINES
Salta le righe vuote
FILE_NO_DEFAULT_CONTEXT
Non usa il context di default

context

Nota: Il supporto per il contesto è stato aggiunto in PHP 5.0.0. Per la descrizione del contesto, fare riferimento a Stream Funzioni.

Valori restituiti

Restituisce il file in un array. Ogni elemento dell'array corrisponde a una riga nel file, con newline incluso. In caso di errore, file() restituisce false.

Nota:

Per ogni linea riportata nell'array risultante includerà newline, a meno che non venga usato FILE_IGNORE_NEW_LINES.

Nota: Se PHP non riconosce correttamente i fine riga durante la lettura di file creati o provenienti da un computer Macintosh, l'abilitazione dell'opzione di configurazione runtime auto_detect_line_endings potrebbe aiutare a risolvere il problema.

Errori/Eccezioni

A partire da PHP 8.3.0, genera un ValueError se flags include valori non validi, come FILE_APPEND.

Emette un E_WARNING a livello d'errore se il file non esiste.

Log delle modifiche

Versione Descrizione
8.3.0 ValueError viene generato per qualunque valore di flags non valido.

Esempi

Example #1 Esempio di file()

<?php
// inserisce un file in un array e lo stampa. In questo esempio useremo il protocollo
// HTTP per ottenere il sorgente HTML di un URL
$lines = file('http://www.example.com/');
//Itera attraverso quest'array, mostra il sorgente HTML così com'è e anche i numeri di riga.

foreach ($lines as $line_num => $line) {
echo
"Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}

//Utilizzo del parametro flag opzionale
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

Note

Avviso

Quando si usa SSL, Microsoft IIS viola il protocollo chiudendo la connessione senza inviare un'indicazione close_notify. PHP indicherà questo con un "SSL: Fatal Protocol Error" al raggiungimento della fine dei dati. Per aggirare questo problema, occorre abbassare il livello error_reporting per non includere questi avvisi. PHP 4.3.7 e successivi sono in grado di identificare gli IIS bacati quando si apre lo stream utilizzando il wrapper https:// e disabilitano automaticamente l'avviso. Se si usa fsockopen() per creare un socket ssl://, occorre identificare e sopprimere l'avviso manualmente.

Vedere anche: