Bonjour, allora, ho un problemino nell'esecuzione di un piccolo script php per l'upload di file tramite FTP con firefox, mentre IE non da problemi di sorta.
Praticamente lo script è questo:
una prima pagina html permette all'utente di scegliere un file da inviare:
codice:
<html>
<head><title>Prova input file</title></head>
<body>
<form action="prova.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Invia">
</form>
</body>
</html>
La pagina prova.php esegue alcuni controlli:
codice:
<?php
include("ftp_function.php");
if(!is_uploaded_file($_FILES["file"]["tmp_name"])){
header("location:prova.html");
}
else{
$file_name = basename($_FILES["file"]["name"]);
move_uploaded_file($_FILES["file"]["tmp_name"], TMP_DIR.$file_name);
//controllo che l'upload del file tramite FTP abbia successo
if(ftpUpload($file_name)){
$page = "success.html";
}
else $page = "error.php?type=upload";
//provo a cancellare il file creato in TMP_DIR
if(!unlink(TMP_DIR.$file_name)){
$page="error.php?type=delete";
}
header("location:".$page);
}
?>
E infine le funzioni per il trasferimento FTP:
codice:
<?php
define("TMP_DIR", "var/tmp/");
function ftpUpload($file_name){
if($ftp_id = ftpConnect()){
if(@ftp_put($ftp_id, $file_name, TMP_DIR.$file_name, FTP_BINARY)){
return true;
}
else return false;
}
else header("location:error.php?type=login");
}
function ftpConnect(){
$ftp_id = ftp_connect("localhost");
if(!@ftp_login($ftp_id, "mac", "gamecube")){
return false;
}
else return $ftp_id;
}
?>
Perchè durante l'esecuzione in firefox appare il messaggio di "lo script non risponde", anche se cliccando su "ferma lo script" il file viene regolarmente salvato nella cartella FTP?