Il logo del sito

Appunti su PHP

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:

§ 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.