Ho questo script per l'upload multiplo di files:
Codice PHP:
<form method="post" action="testupload2.php" enctype="multipart/form-data">
Scegli i file:
<input type="file" name="file[]">
<input type="file" name="file[]">
<input type="file" name="file[]">
<input type="file" name="file[]">
<input type="file" name="file[]">
<input type="submit" value="Invia files" name="go">
</form><?php
$maxSize = 200; //massima dimensione dei file in kilobyte
$acceptType = array( //tipi di file accettati, in questo caso solo immagini
'png' => 'image/png',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'gif' => 'image/gif',
'bmp' => 'image/bmp',
'ico' => 'image/vnd.microsoft.icon',
);
$cartella = "images/"; //cartella dove vengono caricati i file nel server
for($i=0;$i<count($_FILES['file']);$i++)
echo "Risultato file ".($i+1).": ".singleUpload($i, $cartella, $maxSize, $acceptType)."
";
function singleUpload($i, $cartella, $maxSize, $acceptType) {
if(@$_FILES['file']['name'][$i] != "") {
$destinazione = $cartella.basename( $_FILES['file']['name'][$i]);
if($_FILES['file']['size'][$i] <= $maxSize*1024) {
if(in_array($_FILES['file']['type'][$i], $acceptType)) {
if(@move_uploaded_file($_FILES['file']['tmp_name'][$i], $destinazione))
return "File caricato con successo!";
else
return "Errore nell'upload del file";
}else
return "Tipo di file non accettato!";
}else
return "Dimensione del file troppo grande, massima dimensione accettata: ".$maxSize." kilobyte";
}elseif(isset($_POST['go']))
return "Nessun file inserito!";
}
?>
Mi ritorna invariabilmente il messaggio di errore Errore nell'upload del file.
Ma non riesco a capire il perchè... Ho provato anche mettendo il path assoluto alla cartella di destinazione, ma non cambia nulla...
C'è qualche errore nello script che non vedo? O il problema può essere altrove (quale)?
Qualsiasi aiuto sarà altamente apprezzato...