Tag: php

Corso PHP: 20 – Gestione directories

20. Gestione directories

Vediamo adesso le principali funzioni PHP che ci permettono di manipolare le directories ed il loro contenuto. Il filesystem memorizza molte altre informazioni relative ai files oltre al contenuto dei files stessi. Tra queste anche quelle relative alle directories.

Di seguito vediamo quindi l’elenco delle funzioni PHP relative alla gestione delle directories:

 

dirname Restituisce il nome della directory dal percorso indicato
disk_free_space Restituisce lo spazio disponibile nella directory
disk_total_space Restituisce lo spazio totale di una directory
diskfreespace Alias di disk_free_space
is_dir Dice se la stringa corrisponde ad una directory
mkdir Crea una directory
pathinfo Restituisce informazioni su un percorso di file
rmdir Rimuove una directory

Continua a leggere…

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

move_uploaded_file

Abbiamo visto come per spostare un file si usi la funzione rename(). Questa funzione viene usata ugualmente per spostare un file, ma agisce solamente sui file caricati via http POST di PHP.

La sintassi è la seguente:

bool move_uploaded_file (string $filename , string $destination)

Se il file no è stato ulpoadato via PHP, non viene spostato e move_uploaded_file() restituirà falso. In generale la funzione restituirà falso anche in caso il file non possa essere spostato per qualsiasi motivo pur essendo un file valido (uploadato via PHP). Se il file di destinazione $destination esiste, verrà sovrascritto.

parse_ini_file

La funzione parse_ini_file() carica il file ini specificato da $filename, e ne restituisce le impostazioni in un array associativo. La sintassi è la seguente:

array parse_ini_file (string $filename [, bool $process_sections ])

Se $process_sections è impostato a TRUE, viene restituito un array multidimensionale con le sezioni all’interno di ciascuna delle quali vengono riportate le impostazioni relative. L’esempio sotto riportato chiarirà la differenza.
Continua a leggere…

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

filelock

Questa funzione è stata descritta due lezioni fa [Corso PHP: 19 – Leggere e scrivere files (Parte 3^)].

fputcsv

Formatta una riga nel formato CSV e la scrive nel file. La sintassi è la seguente:

int fputcsv (resource $handle, array $fields [, string $delimiter = ',' [, string $enclosure = '"' ]])

Restituisce la lunghezza della stringa o FALSE in caso di fallimento.

Significato dei parametri:

$handle: è il puntatore al file che deve essere scritto. Il file deve essere stato aperto con successo da fopen() (e ovviamente non ancora chiuso).

$fields: è un array di valori che rappresenta le righe che devono essere scritte nel file CSV.

$delimiter: parametro opzionale di 1 carattere che indica il delimitatore usato tra un campo e l’altro. Il default è la virgola.

$enclosure: parametro opzionale di 1 carattere che indica il carattere da usare per delimtare ciascun campo. Il default sono le virgolette (“).
Continua a leggere…

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:
Continua a leggere…

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

Scrivere un file.

Vediamo ora come si può scrivere in un file usando PHP.

Naturalmente prima di poter operare su un file bisogna che questo sia stato aperto e per poterlo scrivere deve essere aperto in scrittura. Ricordiamo quindi i metodi di apertura che abilitano alla scrittura di un file anche se già visti precedentemente:

➬ ‘r+‘:  Apre in lettura e scrittura; posiziona il puntatore all’inizio del file.

➬ ‘w‘:  Apre il file in sola scrittura; posiziona il puntatore all’inizio del file e tronca il file alla lunghezza zero. Se il file non esiste, tenta di crearlo.

➬ ‘w+’:  Apre in lettura e scrittura; posiziona il puntatore all’inizio del file e tronca il file alla lunghezza zero. Se il file non esiste, tenta di crearlo.

➬ ‘a‘:  Apre in sola scrittura; posiziona il puntatore alla fine del file. Se il file non esiste, tenta di crearlo.

➬ ‘a+‘:  Apre in lettura e scrittura; posiziona il puntatore alla fine del file. Se il file non esiste, tenta di crearlo.

➬ ‘x‘:  Crea ed apre il file in sola scrittura; posiziona il puntatore all’inizio del file. Se il file esiste già la chiamata a fopen() fallirà restituendo FALSE e verrà generato un errore di lievllo E_WARNING.

➬ ‘x+‘:  Crea ed apre il file in lettura e scrittura; posiziona il puntatore all’inizio del file. Se il file esiste già la chiamata a fopen() fallirà restituendo FALSE e verrà generato un errore di lievllo E_WARNING.

Per scrivere si usa la funzione fwrite() che ha la seguente sintassi:

int fwrite (resource $handle, string $string [, int $length ])

Continua a leggere…

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

c) Lettura di un intero file in un array.

Si può leggere un intero file in un array anziché in una stringa come visto precedentemente. Com’è piuttosto ovvio gli elementi dell’array saranno costituiti dalle righe del file. La funzione da utilizzare è file() che ha la seguente sintassi:

array file (string $filename [, int $use_include_path [, resource $context ]])

La funzione è utile per leggere un file di testo che abbia i caratteri di linefeed alla fine di ciascuna riga. Da notare che il carattere di linefeed verrà mantenuto alla fine di ciascun elemento dell’array.

Se si verifica un errore, la funzione restituisce FALSE.
Continua a leggere…

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

19.  Leggere e scrivere files

Vediamo come può essere effettuata la gestione files tradizionali (vedremo successivamente l’uso di database) con il PHP.

Inutile dire che il metodo principe per la memorizzazione e gestione delle informazioni con applicazioni PHP sia il database (usualmente il MySQL); vi sono tuttavia casi dove la gestione di altri files è utile se non indispensabile. Pensiamo ad esempio alla necessità di produrre o leggere file XML o file in genere che provengono oppure devono poi essere letti da programmi esterni come ad esempio i files CSV per interfacciarsi con Excel o file in formato pdf oppure anche semplici file in formato testo.

PHP utilizza quello che viene comunemente chiamato un handle per connetersi ad un file.

Vediamo per iniziare le funzioni fondamentali di apertura e chiusura di un file.

Aprire un file.

La funzione PHP utilizzata è fopen() che ha la seguente sintassi:

resource fopen (string $filename, string $mode)

$filename ovviamente è una stringa che contiene il nome del file che va aperto.

$mode è la modalità nella quale il file va aperto e può assumere uno dei valori seguenti:
Continua a leggere…