Questa classe implementa il protocollo ftp
Consente, cioè, di trasferire in maniera bidirezionale dei file
attraverso il protocollo ftp.
classe ftp
{
costruttore(&$macchina, &$utente, &$pchiave);
CambiaCartella(&$nuovoPercorso);
Cancella(&$archivio);
Carica(&$archivio, &$nuovoNome);
Disconnetti();
ImpostaModo($modo);
Scarica(&$archivio, &$dest);
}
define('MODO_TESTO', FTP_ASCII);
define('MODO_BINARIO', FTP_BINARY);
Carica(&$archivio, &$nuovonome)
Esegue la connessione ftp alla $macchina indicata con $utente e $pchiave
indicati.
In caso di non raggiungibilità della macchina o di utente-pchiave non validi
lancia un'eccezzione.
Il modo iniziale è binario.
function __construct(&$macchina, &$utente, &$pchiave)
{
$this->conn_ftp = ftp_connect($macchina);
$autenticato = ftp_login($this->conn_ftp, $utente, $pchiave);
if($this->conn_ftp===FALSO || $autenticato===FALSO)
trigger_error("Impossibile connettersi alla macchina $macchina con l'utente $utente", E_USER_ERROR);
$this->modo = MODO_BINARIO;
}
/*}}}*/
/*{{{ CambiaCartella */
/*---
Sposta la cartella corrente sulla macchina remota a $nuovoPercorso. può
essere indicato sia un percorso assoluto sia relativo.
Torna VERO in caso di successo, FALSO altrimenti (cartella inesistente,
acesso negato, etc).
---*/
function CambiaCartella(&$nuovoPercorso)
{
return ftp_chdir($this->conn_ftp, $nuovoPercorso);
}
/*}}}*/
/*{{{ Cancella */
/*---
Cancella l'archivio indicato da $archivio. Questa stringa può contenere
caratteri tipo '*'
Torna VERO in caso di successo per tutti gli archivi, FALSO altrimenti
(archivio inesistente, accesso negato, etc).
---*/
function Cancella(&$archivio)
{
$vArchPresenti = ftp_nlist($this->conn_ftp, $archivio);
$N = count($vArchPresenti);
$ris = VERO;
for($i=0; $i<$N ;$i++)
$ris = $ris && ftp_delete($this->conn_ftp, $vArchPresenti[$i]);
return $ris;
}
/*}}}*/
/*{{{ Carica */
/*---
Carica l'archivio indicato da $archivio nella cartella corrente.
Torna VERO in caso di successo, FALSO altrimenti (archivio inesistente,
acesso negato, etc).
---*/
Disconnetti()
Chiude la connessione ftp.
Scarica(&$archivio, &$dest)
Imposta la modalità delle comunicazione successive.
Il parametro può assumere i valori MODO_TESTO e MODO_BINARIO.
function ImpostaModo($modo)
{
$this->modo = $modo;
}
/*}}}*/
/*{{{ Scarica */
/*---
Scarica l'archivio indicato da $archivio nel percorso indicato da $dest.
Torna VERO in caso di successo, FALSO altrimenti (archivio inesistente,
acesso negato, etc).
---*/