Intanto mi dice che non è scrivibile. Se può servire imports/defaulthttp non è una cartella che ho io sul server. Suppongo è la cartella dove vanno i file temp..

Il codice che uso è:
Codice PHP:
$upload_dir=$_SERVER["DOCUMENT_ROOT"]."/immagini/destino";

$file_name=$_FILES["img"]["name"];

if(
trim($_FILES["img"]["name"])==""){
die(
"Non hai indicato il file da uploadare!
<a href=\"javascript:history.back()\">Indietro</a>"
);
}

if(
file_exists($upload_dir."/".$file_name)){
die(
"Il file ".$file_name." esiste già. Provare a rinominarlo sul computer.
<a href=\"javascript:history.back()\">Indietro</a>"
);
}

$tipo1 "image/pjpeg"//Jpeg tipo 1
$tipo2 "image/jpeg"//Jpeg tipo 2
$tipo3 "image/gif";
$tipo4 "image/bmp";

$tipoimg=$_FILES["img"]["type"];

switch(
$tipoimg){
case 
$tipo1:
$vai="ok";
break;
case 
$tipo2:
$vai="ok";
break;
case 
$tipo3:
$vai="ok";
break;
case 
$tipo4:
$vai="ok";
break;
default:
$vai="no";
}

if(
$vai=="no"){
die(
"Il file selezionato non è un'immagine accettata (jpg, gif, bmp).
<a href=\"javascript:history.back()\">Indietro</a>"
);
}

if(
is_uploaded_file($_FILES["img"]["tmp_name"])) {

move_uploaded_file($_FILES["img"]["tmp_name"], $upload_dir."/".$file_name) or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.
<a href=\"javascript:history.back()\">Indietro</a>"
);

} else {
die(
"Problemi nell'upload del file ".$_FILES["img"]["name"]."
<a href=\"javascript:history.back()\">Indietro</a>"
);

La riga dove mi dà errore è il move_uploaded_file.

PS: sul server locale funziona...