Caricare file tramite PHP


Caricare file tramite PHP

Per consentire agli utenti di caricare i file da un modulo può essere molto utile, per esempio quando si deve creare la sezione “Lavora con noi” di un sito, e bisogna creare un form dove poter caricare il proprio CV.

Creare un form di upload-file

<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>

Da notare:
-L’attributo enctype del tag <form> specifica quale tipo di contenuto da utilizzare al momento del submit del modul. Il valore “multipart / form-data” è usato quando un form richiede dati binari, come il contenuto di un file, per essere caricato.
-L’attributo type = “file” del tag <input> specifica che l’ingresso deve essere elaborato come un file. Per esempio, quando visualizzato in un browser, ci sarà un pulsante Sfoglia accanto al campo di immissione.

Nota: Permettere agli utenti di caricare i file è un grosso rischio per la sicurezza.

Creare lo Script

Il file “upload_file.php” contiene il codice per il caricamento di un file:

<?php
 if ($_FILES["file"]["error"] > 0)
   {
   echo "Error: " . $_FILES["file"]["error"] . "<br>";
   }
 else
   {
   echo "Upload: " . $_FILES["file"]["name"] . "<br>";
   echo "Type: " . $_FILES["file"]["type"] . "<br>";
   echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
   echo "Stored in: " . $_FILES["file"]["tmp_name"];
   }
 ?>

Salvare il file caricato

<?php
 $allowedExts = array("gif", "jpeg", "jpg", "png");
 $temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
 if ((($_FILES["file"]["type"] == "image/gif")
 || ($_FILES["file"]["type"] == "image/jpeg")
 || ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
 || ($_FILES["file"]["type"] == "image/png"))
 && ($_FILES["file"]["size"] < 20000)
 && in_array($extension, $allowedExts))
   {
   if ($_FILES["file"]["error"] > 0)
     {
     echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
     }
   else
     {
     echo "Upload: " . $_FILES["file"]["name"] . "<br>";
     echo "Type: " . $_FILES["file"]["type"] . "<br>";
     echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
     echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

     if (file_exists("upload/" . $_FILES["file"]["name"]))
       {
       echo $_FILES["file"]["name"] . " already exists. ";
       }
     else
       {
       move_uploaded_file($_FILES["file"]["tmp_name"],
       "upload/" . $_FILES["file"]["name"]);
       echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
       }
     }
   }
 else
   {
   echo "Invalid file";
   }
 ?>

Lo script sopra controlla se il file esiste già, se non esiste, copia il file in una cartella chiamata “upload”.

riferimento

Rate this post

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


Hai bisogno di aiuto personalizzato con qualcosa che non è documentato qui? Richiedi assistenza
Iscriviti alla nostra newsletter

Iscriviti alla nostra newsletter

Iscriviti alla nostra mailing list per ricevere le ultime notizie e gli aggiornamenti dal nostro team.

You have Successfully Subscribed!