ah, il problema é che non crei la cartella corrispondente a $id, quindi non puoi spostarci nulla, visto che non esiste, il codice quindi deve essere:
Codice PHP:
<html>
<head>
<title>Prova</title>
</head>
<body>
<?php
switch ($_GET['set']) {
case "ok":
// QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI DI PHP PRECEDENTI ALLA 4.1.0
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
/********************* VARIABILI DA SETTARE ********************/
// Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
$id = $_GET['id'];
$upload_dir = "immagini/$id";
mkdir($upload_dir,0777);
// Eventuale nuovo nome da dare al file uploadato
$new_name = "";
// Se $new_name è vuota, il nome sarà lo stesso del file uploadato
$file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
if(trim($_FILES["upfile"]["name"]) == "") {
die("Nessun file selezionato!");
}
if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
} else {
die("Si sono verificati problemi nell'upload del file " . $_FILES["upfile"]["name"]);
}
$allowed_types = array("image/png");
if(!in_array($_FILES["upfile"]["type"],$allowed_types)) {
die("Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode(",", $allowed_types) . ".");
}
echo "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente";
break;
}
?>
<form action="index.php?pag=all&action=upload&id=1&set=ok" method="POST" enctype="multipart/form-data">
<input type="file" name="upfile">
<input type="submit" value="Invia il file">
</form>
</body>
</html>
aggiungeno mkdir ti crea la cartella