Homepage Site Map


   
PROGRAMMAZIONE
   FARE WEB
   HTML
   CSS
   PHP
   MySQL
   XML - XSL
GRAFICA
   PAINT SHOP
   ANIMATION SHOP
   SWISH
   SWISHMAX
SCRIPT
   JAVASCRIPT
   PHP
   APPLET JAVA
   CSS GENERATOR
   WEB TOOLS
DOWNLOAD
   FONTS
   ICONE E AVATAR
   SMILES
   GIF ANIMATE
   CURSORI
   CALENDARI
   KAOANI
   BASI BANNER
   SCREENMATES
   MEEGOS
   GIOCHI
   VIDEO E PPS
ARTICOLI
   ARTICOLI
   GUADAGNA SITO
LINKS
   LINK TO ME
   VOTAMI
   SCAMBIO LINK
   SCAMBIO BANNER


zanox Partner promuovono Partner


 
  

Home -> Manuali e Tutorials -> Guida PHP -> Upload  


Scarica il tutorial      |    Stampa il tutorial      |    Cerca nel sito      



REALIZZARE UN UPLOAD DI FILES IN PHP



Vediamo come creare una semplice applicazione per l'upload di files sul web (), quali ad esempio files di immagine di estensione .gif, .jpg, .png, .bmp, .jpeg e di dimensione massima pai a 2MB. Un esempio è visibile qui.

Il codice php necessario per realizzare l'applicazione in questione è il seguente:



<html>
<body>
<SPAN class=genmed>Dimensione Massima ammessa: <B>2000000</B> bytes (2MB).</SPAN><BR>
<SPAN class=genmed>Estensioni ammesse : <B>.gif .jpg .png .jpeg .bmp</B>.</SPAN>
<BR><BR>
<form action="upload.php" method="post" enctype="multipart/form-data">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file" size=50>   <input type="submit" value="Uploda">
</form>
</body></html>
<?php

//print_r($_FILES["userfile"]);
$upload_dir="img/";   // directory di upload
$extensions = array('image/gif','image/jpg','image/pjpeg','image/x-png','image/bmp'); // per uplodare solo le IMMAGINI


// Gestione degli Errori:
switch($_FILES["userfile"]["error"])
{
case 0:
{
if(!in_array($_FILES["userfile"]["type"],$extensions))
{
echo("Il file <I><B>".$_FILES["userfile"]["name"]."</B></I> ha un'estensione non valida !!");
}
else
{
if(move_uploaded_file($_FILES["userfile"]["tmp_name"],$upload_dir.$_FILES["userfile"]["name"]))
{
echo("Il file <I><B>".$_FILES["userfile"]["name"]."</B></I> è stato uplodato con successo !!!");
}
else
{
echo("Si è verificato un errore improvviso!! Riprova...");
}
}
}break;

case 1:
echo("Il file <I><B>".$_FILES["userfile"]["name"]."</B></I> ha una dimensione superiore a quella del 'php.ini' !!");
break;

case 2:
echo("Il file <I><B>".$_FILES["userfile"]["name"]."</B></I> ha una dimensione superiore a 2MB !!");
break;

case 3:
echo("Si è verificato un errore improvviso!! Riprova...");
break;

case 4:
echo("Devi inserire almeno un file immagine valido !!");
break;
}
?>


Tutte le informazioni inviate vengono catturate dal vettore variabile globale $_FILES, essendo il form di tipo "multipart/form-data"; esso conterrà il nome del file, la dimensione massima ammessa per un file uplodato, una chiave chiamata ERROR riportante gli errori che si potrebbero generare durante l'upload del file, il nome temporaneo del file stesso, e la sua tipologia nella chiave definita da TYPE.

I valori ammessi da $_FILES["ERROR"] possono variare da 0 a 4:


  • 0 :    Nessun errore, si può procedere con l'upload del file, attraverso l'uso della funzione move_uploaded_file(), previo controllo sull'estensione del file stesso. La funzione move_uploaded_file() riceve come parametri, il valore temporaneo del file e quello effettivo comprensivo del percorso fino alla cartella dove uplodarlo. In pratica quando si clicca su uploda il file viene uplodato momentaneamente in una cartella temporanea sul server web, e poi se non si verificano ulteriori problemi, spostato nell'apposita cartella definita dalla variabile $upload_dir.

  • 1 :    Il file ha una dimensione superiore a quella impostata nel 'php.ini' .

  • 2 :    Il file ha una dimensione superiore a 2MB (che è la dimensione dai noi prefissata, che deve essere sempre inferiore o uguale a quella settata nel php.ini).

  • 3 :    Si è verificato un errore improvviso.

  • 4 :    Il file non è regolare; questo errore si verifica ogni volta che cliccate su uploda senza aver selezionato un file.


Se non si presentano errori, il file viene quindi "uplodato", attraverso l'uso della funzione move_uploaded_file, la cui sintassi è la seguente:


bool move_uploaded_file ( $file_name, $destinazione)


Restituisce quindi un valore booleano (true / false), ed accetta come parametri il nome del file temporaneo caricato nella cartella temporenea del pc ed il percorso di destinazione comprensivo del nome del file effettivo. Questa funzione, quindi, verifica che il file indicato da file_name è un file validamente caricato (nel senso che è stato caricato attraverso il meccanismo di caricamento HTTP POST di PHP). Se il file è valido, verrà "spostato" (copiato) nel file dato da destinazione.

Il codice php risula essere quindi abbastanza semplice da gestire e capire. Bisogna ricordare che per poter uplodare le immagini nell'apposita cartella "img", nel caso in cui l'host è un server Linux, bisogna cambiare le proprietà della cartella stessa esattamente come mostra la figura seguente:






Torna su      |    Indice Guida      |    Pagina << 34 >>    


Vai al W3C CSS Validator toolkit.
Realizzato con PHP. Vai al sito ufficiale del PHP.
Testato anche con Mozilla Firefox. Vai al sito ufficiale.

Home     Contacts     Forum     FAQ     Newsletter     Mappa     Cerca     Link to me

  Vedi gli RSS del sito.      

-->  [Il tuo link qui]