ho fatto in quest'altra maniera perchè nn riuscivo ad integrarlo con lo switch (anche se mi piaceva di più):
Codice PHP:
$maxSize 5000//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
$image_caption $_POST['caption'];
$image_category $_POST['category'];
$image_date date('Y-m-d');
list (
$width$heigth$type$attr) = getimagesize($_FILES['file']['tmp_name']);
for (
$i 0$i count($_FILES['file']['name']); $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['upload'])) {
        return 
"Nessun file inserito!";
    }

avrei però ancora dubbi su qualche cosa.
come lo metto questo?
Codice PHP:
list ($width$heigth$type$attr) = getimagesize($_FILES['file']['tmp_name']); 
aggiungo dati a un db e come nome gli vorrei dare l'id più il nome della categoria.
dove posso dargli il nome?
Codice PHP:
$query 'insert into images (image_caption,image_date,image_category) values ("' $image_caption '","' $image_date '","' $image_category '")';
$result mysql_query($query$db) or die(mysql_error($db));
$last_id mysql_insert_id();
$imagename $last_id "_" $_POST['category'] . '.jpg';
$nome imagejpeg($image$dir '/' $imagename100); 
imagedestroy(); come lo metto??

nun gliela faccio più