PHP  »  Guide  »  Guida PHP teorica 

Funzioni legate al protocollo FTP - II



ftp_cdup e ftp_chdir

Queste due funzioni servono rispettivamente a muoversi alla directory superiore e a muoversi in una determinata directory all'interno del server.
La prima si utilizza con sintassi:

$var = ftp_cdup($stream);

La seconda invece:

$newdir = ftp_chdir($stream, "nuova_directory");

Se ad esempio al login siamo nella directory "/" e volessimo spostarci in "/var/wwwdata" potremo scrivere:

$newdir = ftp_chdir($stream, "/var/wwwdata");

ftp_mkdir e ftp_rmdir

Queste due funzioni invocano il comando "mkdir "(crea una directory) e "rmdir" (rimuovi una directory). La prima restituisce il nome della nuova directory, la seconda solamente i valori true o false. Potremo creare un piccolo loop e scrivere:

# Posizioniamoci in "/var/wwwdata".
$mydir = ftp_chdir($stream, "/var/wwwdata/");

# Creiamo la directory "prova" come sottodirectory di "/var/wwwdata"
$newdir = ftp_mkdir($stream, "prova")

# Cancelliamo la directory appena creata!
$deleted_dir = ftp_rmdir($stream, $newdir);

# Possiamo ora controllare il tutto con:
if ($deleted_dir == "1") {
print "Operazione completata con successo.\n";
} else {
print "Qualcosa non è andato per il verso giusto.\n";
}

Ovviamente l'esempio non ha molto senso in una vera connessione (perchè creare una directory e subito cancellarla?), ma è stato proposto per comprendere come utilizzare al meglio queste due funzioni.

ftp_nlist

Questa funzione è analoga al comando "dir", ossia il comando utilizzato per vedere i nomi dei file presenti in una directory. La sua sintassi è:

$list = ftp_nlist($stream, directory);

Ad esempio, possiamo portarci nella directory "/var/wwwdata" e leggerne i file con:

$newdir = "/var/wwwdata";
$list = ftp_nlist($stream, $newdir);

I risultati sono contenuti in un array, quindi un 'echo "$list"' non avrebbe alcun senso.

ftp_get

Funzione che richiama il comando GET, per scaricare un file dal server remoto. Dobbiamo specificare per la funzione, oltre al solito stream, il nome del file locale, il nome del file remoto e la modalità di trasferimento (FTP_ASCII o FTP_BINARY); la sintassi completa è:

$file = ftp_get($stream, local_filename, remote_filename, mode);

Ad esempio, volendo scaricare dal server il file "data.txt" (supponiamo di essere già all'interno della directory che lo contiene) inserendolo nella directory "/tmp" con nome "file.txt" in ASCII mode, scriveremo:

$file = ftp_get($stream, "/tmp/file.txt", "data.txt", FTP_ASCII);

Per vedere se l'operazione ha avuto o meno successo, possiamo operare in due modi: controllare se effettivamente il file c'è nel nostro disco oppure controllare il valore della variabile $file: se ha valore "1" allora l'operazione è stata completata, se ha valore "0" nessun file sarà stato scaricato sul nostro disco.

ftp_put


Questa funzione fa esattamente il contrario di ftp_put(), ossia carica un file sul server. La sua sintassi è:

$file = ftp_put($stream, remote_filename, local_filename, mode);

Le opzioni sono identiche alle precedenti, quindi possiamo fare l'esempio contrario del precedente: carichiamo il file locale "/tmp/file.txt" nella directory remota (siamo già in questa directory) con il nome "data.txt". Tutto in ASCII mode, ovviamente:

$file = ftp_put ($stream, "data.txt", "/tmp/file.txt", FTP_ASCII);

Anche qui, possiamo controllare in due modi: valutando il valore di $file oppure invocando la funzione ftp_nlist() per vedere se fra i file c'è anche "data.txt".

Ultimi articoli PHP

Sessioni PHP: cosa sono, come si usano

Dalla configurazione di PHP, alla gestione delle sessioni in un...

Continuous Integration: automatizziamo i client con Phing

Continuous Integration: automatizziamo i client con Phing. Esempi...

Archiviazione delle applicazioni PHP con Phar

Come incorporare intere applicazioni PHP all'interno di un singolo...

I traits in PHP 5.4

Cosa sono, a cosa servono e come si unsano i traits, la novità per...

PHP 5.4: il web server integrato

Impara ad usare il web server integrato nella versione 5.4 di PHP:...

Altri articoli

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Guida PHP con Windows e IIS

Installare ambienti per lo sviluppo e la produzione di applicazioni...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti