ho creato una pagine di uplaod che con file piccoli funziona egregiamente.
tramite html chiedo all'utente di selezionare da una scelta multipla una cartella. Se questa esiste gli concedo l'upload. altrimento lo nego.
Con un file di grandi dimensioni l'upload parte (quindi il test di esistenza è superato) ma poi si interrompe e mi dà in output il messaggio di test (di esistenza della cartella) fallito. Come è possibile?
di seguito lo script
Codice PHP:
</HEAD>
<style>
body{font-family:Comic Sans Ms,helvetica; font-size:10pt}
A{color:#009349; text-decoration:none}
A:hover{color:red}
A:visited:{color:#005329}
A:visited:hover{color:red}
TD{font-family:Comic Sans Ms,helvetica; font-size:10pt}
</style>
</HEAD>
<BODY bgcolor="white">
<?php
$cl=$_POST['cl']; //classe
$sez=$_POST['sez'];//sezione
$uploaddir = $cl.$sez; //cartella di upload della classe da creare per quelle classi abilitate all'upload
$uplddr="./"; //cartella di upload temporanea coincidente con la posizione di questo script
print "<pre>";
if (file_exists($uploaddir)) {
move_uploaded_file($_FILES['userfile']['tmp_name'], $uplddr . $_FILES['userfile']['name']);
$file=$uplddr.$_FILES['userfile']['name'];
if (file_exists($uploaddir."/".$_FILES['userfile']['name'])) echo "ATTENZIONE: il file esiste già e non ti permetto di sovrascriverlo. Cambia nome";
else {
echo "hai caricato il file "; echo $_FILES['userfile']['name']; echo ". \n";
copy($file, $uploaddir."/".$_FILES['userfile']['name']);
$subjiect="upload su quattrobi";
$headers="From: quattrobi\r\n";
$headers.="Reply-To: no-replay\r\n";
$headers .="MIME-Version: 1.0\r\n";
$headers .="Content-type: text/html; charset=iso-8859-1\r\n";
$email="nessuna";
$email="carlo.corio@istruzione.it";
$message="ti hanno caricato il file ".$_FILES['userfile']['name']." in $cl $sez";
$send =mail($email,$subjiect,$message,$headers);
if (!$send) echo "purtroppo per problemi tecnici la e-mail di notifica di avvenuto upload a $email non è stata inviata";
else echo "è stata spedita una e-mail di avvenuto upload alla casella di posta elettronica $email";
}
unlink($file);
}
else echo "questa classe non ha diritto di caricare NULLA";
?>
</BODY></HTML>