Guidainlinea.com - Risorse gratuite per Webmaster

| ASP | PHP | Download | Flash | NEWS | Grafica | .NET | Basi Banner | PhpNuke | Forum | Top100 | Webring |

 
100cocktails
   

 

 

 

 

 

 

Guidainlinea.com - Il portale del Webmaster

Filesystem

Introduciamo ora qualche funzione che ci può venire in aiuto quando dobbiamo manipolare files presenti sul nostro spazio web oppure vogliamo recuperare files da remoto.
Il PHP, rispetto ad altri linguaggi, permette infatti con una singola chiamata non solo di recuperare (e quindi poter leggere/scrivere) un file locale, ma anche di recuperare un file che sia su un altro spazio web oppure su un server FTP in maniera trasparente, vale a dire senza dover utilizzare altre chiamate.

* fopen()

Anzitutto, prima di poter leggere o scrivere un file è necessario aprirlo. Questa funzione, che accetta due parametri di input (il nome del file e il tipo di operazione - lettura/scrittura/append e altre combinazioni) ritorna il descrittore del file, descrittore che utilizzeremo per fare le altre successive operazioni.
Questa funzione, come già anticipato, permette di aprire anche un file remoto messo su uno spazio web (e quindi recuperabile tramite il protocollo HTTP) o su server FTP; tutto questo permanendo identica la sintassi: la funzione si comporterà diversamente a seconda del nome di file passatole (se inizierà con http:// tenterà di recuperare il file dal webserver remoto; se inizierà per ftp:// tenterà di prenderlo dal server FTP remoto; altrimenti lo considererà come un file locale).

Le modalità di apertura di un file sono le seguenti:

  • 'r' - apre il file per la sola lettura e sistema la "testina" di lettura all'inizio del file

  • 'r+' - apre il file per lettura/scrittura, posizionando la testina all'inizio del file

  • 'w' - apre il file per la scrittura, troncandone il contenuto se esiste; se non esiste tenta di crearlo; mette la testina all'inizio

  • 'w+' - idem come 'w', ma lo apre per la lettura/scrittura

  • 'a' - apre il file per la sola scrittura, mettendo però la testina a fine file

  • 'a+' - come sopra, ma lo apre per la lettura/scrittura

Es.

$fp = fopen("/home/marco/file.txt", "r");
$fp = fopen("http://www.sito.com/", "r");
$fp = fopen("ftp://user:password@sito.com/", "w");
($fp è quello che viene chiamato "file handle" o, in italiano, "descrittore di file")

* fgets()

Questa chiamata permette di leggere da un file aperto un certo numero di caratteri specificati. Tale funzione ha la particolarità di terminare prima di aver letto i caratteri specificati se incontra un newline (o un "fine file")
Utile per la lettura di linee singole da un file

* fputs()

Opposto della funzione fgets(), questa chiamata permette di scrivere in un file una data stringa. La posizione nella quale tale stringa verrà scritta dipende solamente dalla posizione corrente della testina di scrittura.

* fseek()

Questa funzione permette di spostare la testina di lettura/scrittura del file corrente in una certa posizione. Accetta in input due parametri: il descrittore di file e la posizione.
Notare che non funziona su files remoti (http:// o ftp://) ma solo su files locali

* fclose()

Chiude il descrittore di file passatole

Il seguente esempio esegue una copia di un file in un altro (esempio puramente didattico: in PHP esiste la funzione copy() che esegue la copia di due files):

Es.

<?PHP
$fp1 = fopen('leggi.txt', 'r');
$fp2 = fopen('scrivi.txt', 'w');

while ($buf = fgets($fp1, 4096)) {
fputs($fp2, $buf);
}

fclose($fp1);
fclose($fp2);
?>

Lezione successiva ->  

Torna all'indice

 

.:: Le sezioni ::.

 .: HTML
 .:
ASP
 .:
PHP
 .:
CSS
 .:
.NET
 .:
CGI/PERL
 .:
Flash
 .:
Download
 .:
JavaScript
 .:
FrontPage
 .:
DreamWeaver
 .:
IIS
 .:
PaintShop Pro
 .:
SQL
 .:
VisualBasic
 .:
XML.NET
 .:
PHPNuke
 .:
PhotoShop
 .:
Basi banner

.:: Script & File ::.

 .: ASP
 .:
.NET
 .:
PHP
 .:
CGI/PERL
 .:
Movies
 .:
Basi Banner
 .:
Programmi

.:: FAQ ::.

 .: ASP
 .:
HTML
 .:
PHP
 .:
CSS

.:: Tutorials ::.

 .: ASP
 .:
PhotoShop
 .:
Flash
 .:
JavaScript

 

 

Guidainlinea.com come homepage |  Aggiungi questa pagina ai preferiti
Home | Manuali | EBooks | Libri | NewsLetter | Community | Corsi | Shopping | Guadagna | Servizi | Mandaci il tuo tutorial | Links
Per qualsiasi informazioni scrivi alla Redazione al Webmaster o per informazioni generali ad info@manuali.net - Note Legali

Guidainlinea.com 2001 - All Right Reserved