Stefan Ghinea.it | English versionEnglish version | e-mail

  • Cerca nel sito
   myway con Google:
   
   Web Ghinea.it
   
  • Socialnetwork
Web Agency Prato:
Creazione Siti, Indicizzazione, Ottimizzazione
 
  facebook  twitter  youtube 
 
  • ContattamiSkype
Web Agency Prato:
richiesta informazioni
 
My status
Contattami

Lezioni di programmazione PHP: il lavoro con file di testo

PHP è un linguaggio di programmazione autonomo derivante dal C, ed è nato per soddisfare alcune esigenze che avevano i programmatori internet. Questo vuol dire che il binomio PHP-MySql (o qualunque altro database) è nato dopo il linguaggio di programmazione. PHP permette oltre l’utilizzo dei database, anche il lavoro con i file di testo (.txt). Mediante PHP possiamo leggerli, modificarli, crearli e salvarli. In pratica possiamo avere un’alternativa ai database (anche se con molti limiti e molto più complicata).

Prima di analizzare le funzioni relative vi informiamo che un eventuale errore con i file di testo genera un risultato booleano false con un errore WARNING mostrato a video.
Per ovviare a questo problema possiamo inserire il simbolo @ prima della funzione (es. @fopen) che non fa altro che nascondere l’errore generato. Ricordate che l’errore che appare a video MOSTRA IL PERCORSO DEL FILE .TXT ed è molto pericoloso se nel file sono memorizzate password od altre informazioni personali!!
Per verificare l’errore possiamo associare un ciclo if al valore booleano. Vediamo le funzioni base che consentono di lavorare con i file di testo:

fopen();
La funzione fopen(); apre un file. Come per le connessioni con i database, solitamente si associa una variabile a questa connessione, la quale identifica il file in maniera univoca.
Esempio:
$var=fopen(“nome_file.txt”,”tipo”);
Tipo di apertura file:
Al posto di ‘tipo’ dobbiamo inserire una costante che identifica il tipo di apertura file.

r Per sola lettura.
r+ Per lettura e scrittura (scrive all’inizio del file).
w Per sola scrittura (I dati già scritti andranno persi e se il file non esiste sarà creato).
w+ Per scrittura e lettura (I dati già scritti andranno persi e se il file non esiste sarà creato. Scrive all’inizio del file).
a Per aggiungere (I dati saranno aggiunti in coda a quelli già scritti, se il file non esiste sarà creato.)
a+ Per aggiungere e lettura (I dati saranno aggiunti in coda a quelli già scritti, se il file non esiste sarà creato.)

fread();
La funzione fread(); estrae un numero di byte dal file di testo (.txt).
Esempio:
$var=fopen(“nome_file.txt”,”r”);
$var2=fread($var,20);

In questo caso abbiamo aperto un file di testo (nome_file.txt) solo per leggerlo (r) ed abbiamo estratto 20 byte.

Per leggere tutto il file dobbiamo scrivere in questo modo:
$var=fopen(“nome_file.txt”,”r”);
$var2=fread($var,filesize(“nome_file.txt”));

Dove la funzione filesize() restituisce la grandezza totale del file.
Nel caso dentro il file ci siano dei rientri a capo che vogliamo visualizzare a video dobbiamo inserire un’altra funzione:
nl2br() che in pratica aggiunge un
quando trova un ritorno a capo nel file di testo.
Esempio:
$var=fopen(“nome_file.txt”,”r”);
$leggi=fread($var,filesize(“nome_file.txt”));
$sss=nl2br($leggi);
fclose($var);
echo $sss;

fwrite();
La funzione fwrite(); scrive una stringa nel file di testo che abbiamo aperto.
Esempio:
$var=fopen(“nome_file.txt”,”a+”);
fwrite($var, “stringa di prova”);

In questo caso abbiamo aperto un file di testo (nome_file.txt) per aggiungere e lettura (a+) ed abbiamo scritto “stringa di prova” alla fine dei dati già scritti.
Nel caso il file non esista il server lo crea e vi scrive la frase da inserire.

fclose();
La funzione fclose(); chiude la connessione aperta verso il file di testo.
Esempio:
$var=fopen(“nome_file.txt”,”a+”);
….
….
fclose($var);

Importante:
Ricordate che un sito con script PHP depositato su un hosting non è detto che sia compatibile con altri hosting. In teoria si, (se la versione di PHP è la stessa), ma in pratica si potrebbero riscontrare alcune differenze nelle impostazioni di sicurezza che il gestore dello spazio web impone.
Per essere sicuri di non incorrere in futuri errori è consigliabile chiudere SEMPRE un file aperto, anche se il sito funziona ugualmente se non chiuso. Potrete risparmiare tempo se in futuro cambiate il gestore di spazio web!!

feof();
La funzione feof(); verifica se abbiamo raggiunto la fine del file di testo che abbiamo letto.
Restituisce true se è andata a buon fine e false se viceversa abbiamo errato qualche passaggio.

file_exists();
Controlla se un file esiste. Risponde true se esiste e false se non esiste.
Esempio:
$var= file_exists(“nome_file.txt”);
if ($var==true) echo”true
“;
if ($var==false) echo”false
“;

filesize();
Restituisce la grandezza totale del file che indichiamo all’interno delle parentesi.
Si può usare per scrivere un intero file, vedi l’esempio della funzione fread();

include();
Utilizzato anche per altri scopi può servire per scrivere a video un file di testo. In pratica include nella pagina web il testo contenuto nel file di testo. Che sia testo, comandi, uno script, qualunque sia il contenuto verrà inserito nella pagina web in quel preciso punto dove è inserito il comando include.

Esempio
include(“nome_file.txt”);
Inserisce il testo senza tenere conto dei ritorni a capo, sempre che nel testo non ci siano dei tag
di HTML.

file();
La funzione file(“nome_file.txt”) restituisce un array con gli elementi uguali ad ogni riga del file di testo.
Possiamo capire quento sia importante questa funzione. Unita alle altre funzioni array è possibile manipolare un file di testo quasi come un database.

count();
Questa non è una funzione direttamente collegabile ai file di testo, ma il suo inserimento in questa pagina è giustificato dal suo largo utilizzo con l’istruzione file();
L’istruzione count(); conta gli elementi contenuti in un array.

Conclusioni
I file di testo possono essere usati per molteplici usi. Dobbiamo solo immaginare il file di testo come un grosso array, ed operare di conseguenza.

Esempio di procedura:
* Memorizziamo i dati utente in un file (in ogni riga un dato relativo ad un utente.
* A questo punto contiamo le righe (file(); e cont();).
* Adesso con un ciclo for facciamo una scansione del contenuto array e troviamo quello cercato.

   17/08/2010 10:11:42 am
  • No Related Post
No Comments »

    Lascia un commento

Spam protection by WP Captcha-Free

  • I bannerGhinea.it
minibanner1
minibanner2
minibanner3
minibanner4
  • Sidebar
  • Categories:
  • Abbiamo lanciato a gennaio 2012 un nuovo sito WordPress: tmptecnorestauri.it
    Abbiamo lanciato alla fine di novembre 2011 un nuovo sito WordPress: infortunisticabologna.net
    Un sito amatoriale: www.sorrisodiluna.too.it
    Giochi online: www.mostfun.com
    Sempre classico: www.gianlucabianchi.it
    I siti web della settimana
    WordPress inarrestabile
    La PEC… vola
    Google nemico della memoria?
    Anonymous: nemici pubblici numero uno







    Stefan Ghinea - Consulenze informatiche e soluzioni software
    Via Marchini, 26 - 59100 Prato (PO) - Tel.: 340 2123560; Fax: 0574 027820  E-mail Home page
    © 2010 by GhineaWebSolutions.it