Prima domanda:
devo per forza scriverlo da qualche parte il file prima di leggerne il contenuto? oppure è sufficiente tenerlo in memoria?

Ho provato facendo così
pagina in
codice:
<form action="pag2.php" method="post" enctype="multipart/form-data" name="form_upload">
  <table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0">
	<tr>
	  <td align="center" valign="middle"><INPUT NAME="file" id="file" TYPE="FILE" SIZE="20"></td>
	</tr>
	<tr>
	  <td align="center" valign="middle"><input type="submit" name="Submit" value="Invia"></td>
	</tr>
  </table>
</form>
pagina output
Codice PHP:
$file_name $_FILES['file']['name'];
$file_temp $HTTP_POST_FILES['file']['tmp_name'];
$file_type $_FILES['file']['type'];
$file_size $_FILES['file']['size'];

$a=array();
$a[]=$file_name;
$a[]=$file_temp;
$a[]=$file_type;
$a[]=$file_size;
print_r($a);

$row 1;
$handle fopen$file_name"r" );
while( ( 
$data fgetcsv$handle1000";" ) ) !== FALSE ){
    
$num count($data);
    echo 
"

 
$num campi sulla linea $row
</p>\n"
;
    
$row++;
    for (
$c=0$c $num$c++) {
        echo 
$data[$c] . "
\n"
;
    }
}
fclose($handle); 
il print_r funziona ma il while no...

primo warning:failed to open stream: No such file or directory in...
secondo warining: fgetcsv() expects parameter 1 to be resource, boolean given in...