PHP 5 Filesystem References
§ 1. PHP 5 File Handling
La manipolazione di files è una parte importante di ogni applicazione web.
PHP ha molte funzioni per creare, leggere, caricare ed editare files.
§ 1.1. readfile() Function
readfile() legge un file e lo scrive nell'output buffer.
Ho un file di nome webdictionary.txt nella stessa directory di questa pagina.
§ 1.1.1. Esempio con readfile()
Per leggere webdictionary.txt e scriverlo nell'output buffer il comando php è il seguente:
<?php echo readfile("webdictionary.txt");?>
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language
231
Il "231" alla fine del file cosa è? Credo il numero di caratteri del file.
§ 1.2. fopen() Function
fopen() è un modo migliore per aprire un file in quanto fornisce più opzioni rispetto a readfile().
la sintassi di fopon è la seguente $myfile = fopen('filename', 'open mode') dove open mode può essere:
- r - read only
- w - write only : cancella il file, se esiste. Crea un nuovo file.
- a - append: crea un nuovo file se non esiste oppure appende al file esistente
- x - create: crea solo se non esiste altrimenti restituisce false
- r+ - read write: puntatore ad inizio file;
- w+ - read write: cancella il contenuto del file o crea un nuovo file se non esisteva. Puntatore ad inizio file.
- a+ - read write: append read write. Puntatore a fine file.
- x+ - create for read write: restituisce false se il file già esiste.
§ 1.3. fread() Function
fread() legge un file aperto.
la sintassi di fread è la seguente fread($myfile, filesize('filename').
§ 1.4. fclose() Function
fclose() chiude un file aperto.
la sintassi di fclose è la seguente fclose($myfile).
§ 1.4.1. Esempio con fopen(), fread() e fclose()
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language
§ 1.5. fgets() Function
fgets() legge una singola riga di un file.
la sintassi di fgets è la seguente $string = fgets($myfile).
§ 1.6. feof() Function
feof() restituisce true quando viene raggiunta la fine del file.
la sintassi di feof è la seguente $boolean= feof($myfile).
§ 1.6.1. Esempio con fopen(), fgets(), feof() e fclose()
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file");
while(!feof($myfile)){
echo fgets($myfile). "<br>";
}
fclose($myfile);
?>
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language
§ 1.7. Creazione dei file
Per creare un file si usa la funzione fopen in una delle modalità di creazione: w, a, x,
$mynewfile=fopen("testfile.txt", "w") Crea un nuovo file testfile.txt.
Verifico subito se ho privilegi sufficienti per fare questo.
§ 1.7.1. Esempio con fopen() in modalità write
<?php
$mynewfile=fopen("testfile.txt", "w");
fclose($mynewfile);
?>
Ho creato e chiuso subito dopo il file testfile.txt.
§ 1.8. fwrite() Function
fwrite() scrive su un file aperto in modalità "w".
la sintassi di fwrite è la seguente fwrite($mynewfile, $txt).
§ 1.8.1. Esempio con fwrite()
Scrivo qualche cosa in un mio nuovo file, poi lo rileggo per vedere se ha funzionato.
<?php
$mynewfile=fopen("testfile.txt", "w");
$txt="Claudio Minelli\n";
fwrite($mynewfile, $txt);
$txt="ha scritto tre righe di testo in \n";
fwrite($mynewfile, $txt);
$txt="testfile.txt, poi ha chiuso il file. \n";
fwrite($mynewfile, $txt);
fclose($mynewfile);
echo readfile("testfile.txt");
?>
Claudio Minelli
ha scritto tre righe di testo in
testfile.txt, poi ha chiuso il file.
88 readfile se ne sbatte di "\n", ma se lo apri con blocco note vedi che si sono.