Allora, prima delle spiegazioni..fai questi passi:

Crea un file ,ad es. "upload.php" e inserisci al suo interno questo codice:
codice:
<?
$uploaddir = "../img/"; 
print "<pre>"; 

if  ($file != NULL && $_FILES['file']['type'] != "application/octet-stream") {  
      move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir.$_FILES['file']['name']);
      print "Il file è valido, e inviato con successo.  Ecco alcune informazioni:

";  
      info("file");
      }
   else{
      print "Possibile attacco tramite file upload! Alcune informazioni:\n";  
      print "Uploaddir: $uploaddir
"; 
      }

function info($varname){
   $file_name = $_FILES[$varname]['name'];
   $file_type = $_FILES[$varname]['type'];
   $file_tmp_name = $_FILES[$varname]['tmp_name'];
   $file_size = $_FILES[$varname]['size'];
   echo "Nome file: $file_name
Tipo file: $file_type
Percorso file temporaneo: $file_tmp_name
Dimensione file: $file_size";
   } 
?>
Poi crea un file e chiamalo come vuoi, con estensione "*html", e mertti al suo interno questo codice:
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="main" method="post" action="upload.php" enctype="multipart/form-data">
 <input type="file" name="file">
 <input type="Submit" value="carica">
</form>
</body>
</html>
A qesto punto dal file html potrai effettuare l'upload.
Uno degli errori era molto probabilmente il
codice:
$uploaddir = '..\img';
che invece DEVE eseere, soprattutto in eindows:
codice:
$uploaddir = "../img/";
Per il print_r è normale quello ke viene visualizzato, perchè $_FILES è un array globale...ho risolto con una funzione "info()":basta passarle come parametro il nome del campo file nel form html (in qst caso appunto 'file').

Spero di essere stato chiaro...altrimenti chiedi...

Ciao...