Corso PHP: 19 – Leggere e scrivere files (Parte 4^)

19.2 Altre funzioni relative ai files

Di seguito indichiamo la tabella completa delle funzioni PHP relative alla gestione dei files tradizionali. Successivamente prenderemo in considerazione alcune funzioni non ancora esaminate, ma meritevoli di considerazione.

basename Restituisce il nome del file dal percorso indicato
chgrp Cambia il gruppo del file
chmod Cambia le impostazioni del file
chown Cambia il proprietario del file
clearstatcache Libera la cache dello stato di un file
copy Copia un file
delete Sinonimo di unlink oppure unset
fclose Chiude un puntatore a file aperto
feof Verifica se è stata raggiunta la fine del file su un puntatore a file
fflush Invia l’output in un file
fgetc Prende un carattere da un puntatore a file
fgetcsv Prende una riga da un puntatore a file e l’analizza in cerca di campi CSV
fgets Prende una riga da un puntatore a file
fgetss Prende una riga da un puntatore a file ed elimina i tag HTML
file_exists Controlla se un file o directory esiste
file_get_contents Legge un file all’interno di una stringa
file_put_contents Write a string to a file
file Legge l’intero file in un vettore
fileatime Prende l’ora dell’ultimo accesso al file
filectime Prende l’ora in cui l’inode del file è stato modificato
filegroup Restituisce il gruppo di un file
fileinode Restituisce il numero di inode del file
filemtime Restituisce l’ora delle modifiche al file
fileowner Restituisce il proprietario del file
fileperms Restituisce i permessi sui file
filesize Restituisce la dimensione del file
filetype Restituisce il tipo di file
flock Sistema di bloccaggio file
fnmatch Match filename against a pattern
fopen Apre un file o un URL
fpassthru Invia tutti i dati rimanenti su un puntartore a file
fputcsv Format line as CSV and write to file pointer
fputs Alias di fwrite
fread Legge un file salvaguardando la corrispondenza binaria
fscanf Analizza l’input da un file secondo un determinato formato
fseek Sposta un puntatore sul file
fstat Restituisce le informazioni riguardanti un file attraverso un puntatore al file aperto
ftell Comunica la posizione di lettura/scrittura del puntatore al file
ftruncate Tronca un file alla lunghezza data
fwrite Scrive un file salvaguardando la corrispondenza binaria
glob Find pathnames matching a pattern
is_executable Dice se il file indicato è eseguibile
is_file Dice se il file è un file regolare
is_link Dice se il file è un link simbolico
is_readable Dice se un file è leggibile
is_uploaded_file Dice se un file fù caricato via HTTP POST.
is_writable Dice se un file è scrivibile
is_writeable Alias di is_writable
lchgrp Cambia il proprietario del gruppo del link simbolico
lchown Cambia il proprietario del link simbolico
link Crea un hard link
linkinfo Restituisce informazioni su un collegamento
lstat Da informazioni su un file o un link simbolico
move_uploaded_file Muove un file caricato in una nuova posizione
parse_ini_file Legge il file di configurazione
parse_ini_string Parse a configuration string
pclose Chiude un puntatore ad un file di processo
popen Apre un puntatore ad un file di processo
readfile Invia un file
readlink Restituisce il target di un link simbolico
rename Rinomina un file o una directory
rewind Riavvolge la posizione di un puntatore a file
set_file_buffer Alias di stream_set_write_buffer
stat Da informazioni su un file
symlink Crea un link simbolico
tempnam Crea file con unico nome file
tmpfile Crea un file temporaneo
touch Imposta l’ora di modifica di un file
umask Cambia l’umask corrente
unlink Cancella un file

Vediamone alcune in dettaglio:

 

 

basename

Questa funzione restituisce il nome del file a partire dal percorso, completo di directory. Se il nome del file finisce con $suffix quest’ultimo verrà tagliato.
La sintassi è la seguente:

string basename (string $path [, string $suffix ])

Esempio:

 

<?php
$back=basename(htmlspecialchars($_SERVER['PHP_SELF']));
?>

In questo modo in $back memorizziamo il nome del programma in esecuzione senza il percorso completo.

feof

Come abbiamo visto in qualche esempio precedentemente questa funzione verifica se è stata raggiunta la fine del file. Restituisce TRUE se il puntatore al file ha raggiunto la fine del file (EOF) o si è verificato un errore, altrimenti restituisce FALSE.
La sintassi è la seguente:

bool feof (resource $handle)

fflush

Questa funzione forza la scrittura in output di tutto l’output ancora nel buffer. Restituisce TRUE in caso di successo, FALSE in caso di fallimento.
La sintassi è la seguente:

bool fflush (resource $handle)

Il puntatore al file deve essere valido e deve puntare ad un file precedentemente aperto da fopen().

Questa operazione viene automaticamente eseguita da fclose(), ma può capitare che si voglia forzare la scrittura fisica dei dai liberando il buffer prima di chiudere il file; in questo caso si può usare fflush().

file_exists

Questa funzione viene usata per controlla re se un file (od una directory) esiste. $filename va indicato completo di percorso.
La sintassi è la seguente:

bool file_exists (string $filename)

fileatime

filectime

filemtime

Sono tre funzioni che restituiscono l’ora dell’ultimo accesso o dell’ultima modifica al file.

fileatime() va usata per ottenere dal sistema data e ora dell’ultimo accesso al file. La sintassi è:

int fileatime (string $filename)

L’ora viene restituita come un timestamp Unix.

Esempio:

 

<?php
$filename = 'file.txt';
if (file_exists($filename)) {
   echo "Ultimo accesso a $filename: ".date("d F Y H.i.s.", fileatime($filename));
}
?>

Si utilizza la funzione date() per converire il timestamp nella forma GG Mese AAAA hh.mm.ss

filectime() e filemtime() restituiscono entrambe l’ultima data di modifica del file, ma con significato differente. Infatti filectime() tiene in considerazione anche di anche quando vengono aggiornati i permessi, il proprietario, il gruppo o altri metadati, mentre filemtime() tiene in considerazione solo la modifica del contenuto del file ed è quella che quindi verosimilmente sarà più usata.

Anche queste funzioni restituiscono data e ora nel formato timestamp di Unix.

filesize

Restituisce la dimensione del file o FALSE in caso di errore. La sintassi è:

int filesize (string $filename)

Il risultato è fornito espresso in numero di bytes. La funzione è attendibile per files di dimensioni non superiori a 2 GB.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.