Salve a tutti. Ho il seguente script:
Una pagina, carica.php, contiene il seguente form
codice:
<form action="do_multiple_upload.php" method="post" enctype="multipart/form-data" name="sceltafile" target="_blank">
<? for ($i=1; $i <= $numero; $i++) { ?>
<input type="file" name="img[]">
<? echo("\n"); } ?>
<input type="submit" name="Submit" value="Carica">
</form>
Dove il numero di file che è possibile caricare è a scelta dell'utente.
Il file do_multiple_upload.php invece contiene il seguente codice:
codice:
<? $autorizzati = array(".jpg",".jpeg",".gif",".png");
$img = $_FILES['img']['name'];
$log ="";
for ($i = 0; $i < count($img); $i++) {
$ext = strrchr($img[$i], ".");
if (!in_array($ext, $autorizzati)) {
$log.="File ".$img[$i]." di tipo non autorizzato
";
}
else {
if (file_exists("D:/Inetpub/webs/miosito/public/gallery/gallery_uno/".$img[$i])) {
$log.="File ".$img[$i]." già presente sul server. Non caricato
";
}
else {
@copy($img[$i], "D:/Inetpub/webs/miosito/public/gallery/gallery_uno/".$img[$i]) or $log .= "Errore, il file ".$img[$i]." non è stato caricato.
";
}
}
}
echo($log);
?>
Percorsi e cartelle specificati esistono ed è possibile scriverci. Ho fatto un po' di prove, in particolare se carico uno o più file già presente/i nella cartella di destinazione, il log lo registra e ne evita il caricamento, mentre quando provo a caricare file non presente/i mi restituisce il messaggio di errore "Errore interno..." blah blah... insomma, io vorrei capire per quale ragione non funzica e stampare l'errore o il warning restituito da php, piuttosto che la frasuccia di errore attuale.
Grazie a tutti!