Script per il caricamento multiplo di immagini sul server
da testare e sistemare
<?php
// limite peso in byte (1MB)
$peso_file = 1024 * 1024;
// inizializziamo il messaggio
$messaggio = "Seleziona una o piu immagini:";
// estensioni ammesse
$estensioni = array("jpg", "png", "bmp", "gif");
// percorso destinazione la cartella deve esistere e il percorso deve essere corretto
$dir = "../images";
// verifichiamo che sia stato premuto il submit
if (isset($_POST['upload']) && $_POST['upload'] == "Carica immagini") {
// azzeriamo il messaggio
$messaggio = "";
// recuperiamo e uniamo le informazionei sulle immagini
$infoimages = array_combine($_FILES["image"]['name'], $_FILES["image"]['tmp_name']);
// cicliamo le immagini
foreach ($infoimages as $k => $v) {
// nome del file
$nomefile = strtolower($k);
// controlliamo il peso immagine
if (filesize($v) < $peso_file) {
// recuperiamo l'estensione
$estensionefile = pathinfo($nomefile, PATHINFO_EXTENSION);
// controlliamo il tipo immagine
if (in_array(strtolower($estensionefile), $estensioni)) {
// controllo caricamento
if (is_uploaded_file($v)) {
// spostiamo il file nella cartella immagini
if (!move_uploaded_file($v, "$dir/$nomefile")) {
$messaggio .= "<br/>Impossibile spostare il file $k";
} else {
$messaggio .= "<br/>Immagine $k caricata con successo";
}
} else {
$messaggio .= "<br/>Errore nell'upload del file $k.";
}
} else {
$messaggio .= "<br/>Tipo immagine non consentito : $k";
}
} else {
$messaggio .= "<br/>Immagine $k non caricata : limite peso superato";
}
}
}
?>
<form enctype='multipart/form-data' method='post' action='<?php echo $_SERVER['PHP_SELF'] ?>'>
<p>Immagini consentite "jpg", "png", "bmp", "gif"</p>
<p>
<input name="image[]" type="file" size="40" multiple="multiple"/>
<input name="upload" type="submit" value="Carica immagini" />
</p>
</form>
<p><?php echo $messaggio ?></p>