Ciao a tutti, ho un grosso problema..per la serie quando si ci mette la sfiga!

ho creato uno script in php per fare l'upload, download ed eliminazione dei file tutto in php senza db.
L'ho testato sul mio spazio web (linux, Apache) e funziona alla meraviglia, ora ho la necessità di riversarlo su windows server e IIS ma, come se non rispondesse!
il codice è questo:

Codice:
?>
codice:
$sizelimit = "no"; //Do you want a size limit, yes or no? 
$sizebytes = "200000"; //size limit in bytes 
$dl = "http://www.miosito.it/download"; //url where files are uploaded 
$absolute_path = "download"; //Absolute path to where files are uploaded 


switch($action) { 
default: 
echo" 
<html> 
<head> 
<title>Upload And Download</title> 
</head> 
<body> 
<a href=$PHP_SELF?action=upload>Upload File</a> 
<a href=$PHP_SELF?action=download>Download File</a> 

</body> 
</html>"; 
break; 
case "elimina": 
if (isset ($_GET['file']) && $_GET['file']) if (unlink ("./download/".$file)) echo "eliminazione riuscita!"; 
break; 
case "download": 
echo " 
<html> 
<head> 
<title>File Download</title> 
</head> 
<body><font face='' color='white' size='5'>Clicca per Scaricare</font>"; 
$list = "<table width=77% border=1 bordercolor=orange style=\"border-collapse: collapse\">"; 
$list .= ""; 
$dir = opendir($absolute_path); 


while($file = readdir($dir)) { 
if (($file != "..") and ($file != ".")) { 
$list .= "<tr><td width=90%><left>$file </font></left></td><td width=\"10%\"><font face='' color='white'>elimina</font></td></tr>"; 
} 
} 
$list .= "</table>"; 
echo $list; 
echo" 

</body> 
</html>"; 
break; 

case "upload": 
echo" 
<html> 

<head> 
<title>File Upload</title> 
</head> 

<body> 

<form method=POST action=$PHP_SELF?action=doupload enctype=multipart/form-data> 
Download o Elimina File </font>


<font face='' color='white' size='5'>Seleziona il file da File da Caricare:</font>
 
<font face='' color='white'>N.B. Il Nome del file NON deve contenere Spazi</font>
 
<input type=file name=file size=30> 


<button name=submit type=submit> 
Upload 
</button> 
</form> 

</body> 

</html>"; 
break; 


//File Upload 
case "doupload": 
$dir = "dir"; 
if ($file != "") { 

if (file_exists("$absolute_path/$file_name")) { 
die("File already exists"); 
} 

if (($sizelimit == "yes") && ($file_size > $sizebytes)) { 
die("File is to big. It must be $sizebytes bytes or less."); 
} 


@copy($file, "$absolute_path/$file_name") or die("Il file non può essere copiato sul server"); 

} else { 
die("Devi selezionare un file"); 
} 
echo " 
<html> 
<head> 
<title>File Uploaded</title> 
</head> 
<body>"; 
echo $file_name." was uploaded"; 
echo "
 
Upload un altro File</font> 
Download File </font> 

</body> 
</html>"; 
break; 

} 
?>
in pratica aprendo la pagina in questione mi trovo d'avanti: upload Download, comunque clicchi resta sempre qua, anche se l'url nel browser diventa upload?action=upload.

ditemi voi se ci capite qualcosa, sto impazzendo!