PDA

View Full Version : [PHP] Connessione ftp verso filezilla server


lukas!
06-07-2009, 17:47
Salve a tutti,
stavo cercando di interfecciare un pc configurato con filezilla server con delle pagine web in modo da creare una sorta di interfaccia per chi deve inviarmi dei file. Sto utilizzando per la precisione le funzioni ftp di php. Premesso che filezilla è perfettamente funzionante, ho creato una pagina di login dove inserire nome utente e password. Inserendo i dati vedo nella schermata di filezilla che la connessione avviene correttamente, tant'è che sulla pagina php mi appare il messaggio di benvenuto "nomeutente", solo che subito dopo avviene la disconnessione, come se qualcosa attivasse una funzione di disconnessione......
Il codice da me utilizzato per la connessione è il seguente:

<?php

// recupero i dati dal form di login.
$ftp_server = "xx.xx.xxx.xxx";
$ftp_user = $_POST['user'];
$ftp_pass = $_POST['psw'];

// esegue una connessione o esce
$conn_id = ftp_connect($ftp_server) or die("Impossibile connettersi a $ftp_server");

// prova a connettersi
if (@ftp_login($conn_id, $ftp_user, $ftp_pass))
{
echo "Benvenuto $ftp_user\n";
} else {
echo "Impossibile connettersi come $ftp_user\n";
}

ftp_pasv($conn_id, true);

?>

RIpeto funziona perfettamente, solo che la connessione cade immediatamente. Da cosa può dipendere? Da un errore del codice o è filezilla che blocca qualcosa?
Aggiungo inoltre che non sono un grande esperto di php, quindi chiedo scusa se scrivo qualche fesseria.

Grazie a tutti....

vizzz
06-07-2009, 20:06
il problema è più semplicemente che il tuo script termina e la connessione viene chiusa...

lukas!
06-07-2009, 23:10
Ah capito...........
e quale potrebbe essere una soluzione per mantenere attiva la connessione?

Cmq grazie mille per la risposta...

vizzz
06-07-2009, 23:21
Ah capito...........
e quale potrebbe essere una soluzione per mantenere attiva la connessione?

Cmq grazie mille per la risposta...

effettuare operazioni su ftp oppure inserire un ritardo per ritardare la chiusura dello script, conta che però php imposta un massimo tempo di esecuzione (30 secondi se non ricordo male).

cionci
07-07-2009, 08:17
Devi fare una nuova connessione ad ogni operazione che fai sul server ftp.

lukas!
07-07-2009, 09:33
Si ho capito perfettamente ora come funziona.......ed ora comprendo anche perchè nei vari tutorial seguiti e script pronti, trovavo infatti una nuova connessione per qualsiasi operazione che si doveva svolgere....

Grazie mille ad entrambi, mi siete stati di grande aiuto.....