Upload di file in PHP

Internet, PHP, Software, informatica, programmazione Aggiungi commento


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">&nbsp;<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 -&gt; 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']&gt;$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!!

Condividi:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • Segnalo
  • StumbleUpon
  • Technorati
  • Twitter
  • Upnews
  • OKNOtizie
Articoli simili:


Lascia un commento



Accedi al pannello di controllo
RSS Feed RSS Commenti Collegati