Ho scritto un codice PHP per testare la connessione e l'invio dati con FTP.
L'ho testato oggi per qulache ora di fila, ad intervalli variabili, in locale verso un mio account AlterVista (su server diverso da quello di sacilemeteo) e nel mio caso (testato con Wind), non ho riscontrato problemi di alcun tipo.
Eeventualmente, se non è un problema, potrebbe fare qualche prova con sim Wind e gli stessi dispositivi usati per le webcam e per eventuali test?
Cdice di test FTP:
Codice PHP:
<?php
set_time_limit(300); // Per test
$ftp_server = "ftp.NomeUtente.altervista.org";
$ftp_user_name = "NomeUtente";
$ftp_user_pass = "PasswordUtente";
$path='/';
// Crea file in locale per test di upload FTP
$file = 'ftptest.txt';
if(!file_exists($file)){
$f = fopen($file, 'wb');
if(!$f){
echo "Error creating the file " . $filename;
}
}
$fp = fopen($file, 'r');
function Ping($url){
$startTime = microtime(true);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
$endTime = microtime(true);
if(curl_errno($ch)){
echo "cURL error: " . curl_error($ch) . "<br><br>";
}else{
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($statusCode === 200){
$duration = $endTime - $startTime;
echo "time: " . $duration . " seconds <br><br>";
} else {
echo "Server response error with status code: " . $statusCode . "<br><br>";
}
}
curl_close($ch);
}
// Inizializza e testa la connessione
// $ftp = ftp_ssl_connect($ftp_server) or die("Couldn't connect to $ftp_server"); // FTP con SSL
$ftp = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$info = ftp_systype($ftp);
echo "Server: $info <br><br>";
$mode = ftp_pasv($ftp, true);
if(!$mode){
echo "Cannot switch to passive mode <br><br>";
}
// Effettua login
if(ftp_login($ftp, $ftp_user_name, $ftp_user_pass)){
echo "Connected as $ftp_user_name@$ftp_server <br><br>";
echo "Connession "; Ping(str_replace("ftp.", "", $ftp_server));
$upload = ftp_fput($ftp, $file, $fp, FTP_ASCII);
if(!$upload){
echo "Cannot send a file <br><br>";
}
// Recupera i conteuti
$contents = ftp_nlist($ftp, $path);
//var_dump($contents); // debug
foreach($contents as $item){
$date = ftp_mdtm($ftp, $item);
if($item == $path.$file){
echo "<b>$item -------------------- " . date("d-m-Y H:i:s", $date) . "</b><br>";
}else{
echo "$item -------------------- " . date("d-m-Y H:i:s", $date) . "<br>";
}
}
//$contents = ftp_rawlist($ftp, '/'); // debug
//var_dump($contents);
}else{
echo "Couldn't connect as $ftp_user_name";
}
// Chiusura della connessione
ftp_close($ftp);
fclose($fp);
?>
Cordiali sluti.