prova così anche se non l'ho testato..
in pratica se la condizione è che quei file sono con quelle estensioni, entra nel tuo ciclo, altrimenti esce..
Codice PHP:
//tutti i tipi di file da uploadare
$cert1 = "audio/aiff";
$cert2 = "audio/x-aiff";
$cert3 = "audio/mpeg3"; //qui per gli mp3 ne mancano altri di $cert..
//poi il controllo sui files
if (($_FILES['image']['type'] == $cert1) or ($_FILES['image']['type'] == $cert2) or ($_FILES['image']['type'] == $cert3)) {
do {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Controllo che il file non superi i 18 KB
if ($_FILES['image']['size'] > 18432) {
$msg = "
Il file non deve superare i 18 KB!!</p>";
break;
}
// Ottengo le informazioni sull'immagine
list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
// Controllo che le dimensioni (in pixel) non superino 160x180
if (($width > 160) || ($height > 180)) {
$msg = "
Dimensioni non corrette!!</p>";
break;
}
// Controllo che il file sia in uno dei formati GIF, JPG o PNG
if (($type!=1) && ($type!=2) && ($type!=3)) {
$msg = "
Formato non corretto!!</p>";
break;
}
// Verifico che sul sul server non esista già un file con lo stesso nome
// In alternativa potrei dare io un nome che sia funzione della data e dell'ora
if (file_exists('upload_img/'.$_FILES['image']['name'])) {
$msg = "
File già esistente sul server. Rinominarlo e riprovare.</p>";
break;
}
// Sposto il file nella cartella da me desiderata
if (!move_uploaded_file($_FILES['image']['tmp_name'], 'upload_img/'.$_FILES['image']['name'])) {
$msg = "
Errore nel caricamento dell'immagine!!</p>";
break;
}
}
} while (false);
} else {
echo "tipo di file non riconosciuto";
}
echo $msg;
ah.. perchè usi un ciclo do?