L’upload di file è un strumento molto importante per chi gestisce siti web . E’ importante perché possiamo dare la possibilità agli utenti di inviare dei file. Comunque anche in questo caso dobbiamo avere dei permessi per poter fare l’upload di file. Quindi in questa sezione non ci saranno esempi. Non so se funzionerà ma vi insegnerò come fare. L’ upload di file si fa con un semplice form con una dicitura in più che permette a php di capire che si tratta di un invio e con post.

<form method=post  action=”uploadit.php” ENCTYPE=”multipart/form-data”>

Il method deve essere post e dobbiamo metter ENCTYPE=”multipart/form-data”

L’input che ci permette di sfogliare tra il nostro computer

input type= file name=”uploadfile”

Quando noi inviamo il file (uploadfile) php crea delle variabili con il nome del file e l’aggiunta di parole

$uploadfile_name –> (nome e percorso)

$uploadfile_size –> (dimensioni)

$uploadfile_tupe –> (tipo)

$uploadfile –> (nome del file creato dopo l’invio)

Noi possiamo accedere a queste variabili. Ora vediamo il form d’invio:

<HTML>
<BODY>
<HR>
<FORM METHOD=POST ACTION="uploadit.php "ENCTYPE="multipart/form-data">
<TABLE WIDTH="70%" BORDER="8" CELLSPACING="0">
<TR><TD>
<B>Inserisci il nome del file da inviare </B><INPUT TYPE=FILE NAME="uploadfile"><BR><BR>
<INPUT TYPE="SUBMIT" VALUE="Invia le informazioni!">
<INPUT TYPE="RESET" VALUE="Cancella!">
</TR></TD>
</TABLE>
</FORM>
</BODY>
</HTML>

Una volta inviato ecco come accedere alle variabili e vi spiego con #

<HTML>
<BODY>
<?php
echo "<PRE>";
echo "nome del file locale creato dopo l'invio: $uploadfile\n";
echo "nome originale del file remoto: $uploadfile_name\n";
echo "dimensioni del file in byte: $uploadfile_size\n";
echo "tipo di file: $uploadfile_type\n";
echo "</PRE>";
echo "<HR>";
# abbiamo veramente un file?
if ( $uploadfile == "none" ) {
echo "Non è stato inviato alcun file<BR>";
echo "Ritorna al form per inviare il <A HREF=\"upload.html\">file</A>";
exit;
}
# controlla innanzitutto le dimensioni del file
# se è meno di 3 KB
if ($uploadfile_size < 3072 ) {
# lo copia in una nuova posizione
if (copy($uploadfile,"/home/httpd/docs/$uploadfile_name"))
{
echo "Invio del file riuscito";
# cancella il file temporaneo
unlink($uploadfile);
} else {
echo "Invio del file fallito";
}
} else {
echo "Spiacente, il file da inviare non deve superare le dimensioni di 3 KB<BR>";
}
?>
Ritorna al form per inviare i <A HREF="upload.html">file</A>
</BODY>
</HTML>