Ciao a tutti, sono qui oggi a scrivervi circa l’upload di file tramite il vostro browser preferito con un
semplicissimo script PHP. In giro per la rete troverete migliaia di articoli riguardante lo stesso argomento ma voglio comunque condividere con voi quello che so, soprattutto nella mia semplicità.
Ok, partiamo. La prima cosa da fare è creare un file di nome upload.html che si interfacci con il nostro script. Potete anche, con una piccola modifica al codice, usare una sola pagina PHP con HTML interno. Il modulo del file verrà inviato nella stessa pagina aperta. Vediamo quindi il primo semplice metodo:
<html>
<head>
<title>Upload file con PHP - SimyXT</title>
</head>
<body>
<center><br/><br/><form action="upload.php"
method="POST" ENCTYPE="multipart/form-data">Inserisci il
file: <input
name="files"><br/><br/>
<input
value="Invia"> <input value="Cancella"></form>
</body>
</html>
Ora creeremo il file upload.php
che sarà il motore del nostro script. Infatti esso si occuperà dell’upload del file..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?php if (isset($_POST["form"])) { $dimensione_massima=51200; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb $dimensione_massima_Kb=$dimensione_massima/1024; $cartella_upload="upload/"; //cartella in cui eseguire l'upload (controllare permessi scrittura) // percorso cartella relativo $cartella_upload="../public/"; $filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no $array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png','.rar','.zip'); //estensioni ammesse if(!isset($_FILES['files']) || $_FILES['files']['size']==0){ echo "Nessun file selezionato per l'upload"; }elseif($_FILES['files']['size']>$dimensione_massima){ echo "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb"; }else{ $nome_file=$_FILES['files']['name']; $errore=""; if($filtrare==1){ $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, "."))); if(!in_array($estensione,$array_estensioni_ammesse)){ $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(",",$array_estensioni_ammesse)." "; } } if(!file_exists($cartella_upload)){ $errore.="La cartella di destinazione non esiste"; } if($errore==""){ if(move_uploaded_file($_FILES['files']['tmp_name'], $cartella_upload.$_FILES['files']['name'])){ chmod($cartella_upload.$_FILES['files']['name'],0777); //permessi per poterci sovrascrivere/scaricare echo "Operazione eseguita con successo. Upload riuscito."; }else{ echo "Impossibile effettuare l'upload del file"; } }else{ echo $errore; } } } ?> |
Il codice esegue anche un controllo delle estensioni per ragioni di sicurezza. Per aggiungere o eliminare estensioni di file che si possono caricare basta modificare l’array $array_estensioni_ammesse.
Bene, ora salviamo questi file, uploadiamoli nel nostro spazion web
(alternativamente in un interprete php locale) e ricordiamoci di creare la cartella
upload (che potete modificare, modificando il nome nella variabile $percorso). Il
nostro script per l’upload è fatto!!
- Inviare mail in PHP
- Download file senza link diretto
- Ajax e PHP – Esempio
- In pillole – Eliminare file in PHP
- Cambiare immagine al refresh in PHP












Commenti recenti