Hosting Solutions
 
Azienda  |  Listino  |  Assistenza  |  Rinnova servizi  |  Area Utenti ]
Rss Feed Twitter Facebook Tel: 055.3031.2626
info@hostingsolutions.it
Domini Email Hosting Virtual Private Server Server  dedicati E-commerce Site Generator Rivenditori

Domande frequenti
Guide on-line
Assistenza tecnica on-line
Help desk

Upload di file via HTTP tramite PHP

Eseguire un upload di un file sul server via HTTP in php è estremamente semplice, qui di seguito è mostrato un piccolo esempio di codice, che può funzionare indifferentemente sia sui piani linux che sui piani windows.

ATTENZIONE!
Piani Windows: Per poter funzionare correttamente, gli script di upload necessitano che la cartella di destinazione sia impostata con i permessi di scrittura. Potete effettuare questa configurazione attraverso il vostro pannello di controllo, alla voce permessi cartelle e files

Piani Linux: Per poter funzionare correttamente, gli script di upload necessitano che la cartella di destinazione sia impostata con CHMOD 777. Potete effettuare questa configurazione tramite il vostro client FTP.


upload.php

<html>
<head>
<title> PHP upload test page </title>
</head>
<body>
<?php
error_reporting(2047);
if (isset($_POST["invio"])) {
  $percorso = "uploadtest/";
  if (is_uploaded_file($_FILES['file1']['tmp_name'])) {
    if (move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$_FILES['file1']['name'])) {
      echo 'Nome file: <b>'.$_FILES['file1']['name'].'</b><br>';
      echo 'MIME Type: <b>'.$_FILES['file1']['type'].'</b><br>';
      echo 'Dimensione: <b>'.$_FILES['file1']['size'].'</b> byte<br>';
      echo '======================<br>';
      echo 'File caricato correttamente<br><br>';
      echo '<a href="upload.php">carica un altro file</a>';
    } else {
      echo "si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
    }
  } else {
    echo "si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
  }
} else {
  // HTML ?>
    <form enctype="multipart/form-data" method="post" action="" name="uploadform">
      seleziona il file da caricare sul server: 
      <br>
      <input type="file" name="file1" size="50">
      <br>
      <input type="submit" value="invia" name="invio">
    </form>
  <?php
}
?>
</body>
</html>


Una volta eseguito il post del form, i dati vengono caricati dall'interprete PHP in una cartella temporanea. Tramite il comando move_uploaded_file potete spostare il file dalla cartella temporanea ad una cartella del vostro spazio.

In questo esempio si suppone che i file vengano caricati in una cartella uploadtest posta al medesimo livello dello script. Naturalmente questa cartella deve avere i permessi corretti affinché l'upload vada a buon fine, come riportato all'inizio di questa pagina.

La variabile globale $_FILES è una matrice che contiene, per ciascun campo di tipo file di un form, le principali caratteristiche del file stesso:

  • $_FILES['file1']['tmp_name']: contiene il nome assegnato dall'interprete php al file caricato nella cartella temporanea.
  • $_FILES['file1']['name']: contiene il nome del file così com'era nel client dal quale è stato prelevato
  • $_FILES['file1']['type']: contiene il tipo MIME del file
  • $_FILES['file1']['size']: contiene la dimensione del file in byte
  • $_FILES['file1']['error']: contiene il codice numerico di errore che si può essere verificato durante l'upload.


Riferimenti:
[ Hosting Solutions | Copyright © 1999 - 2010 Genesys Informatica Srl. P.iva 02002750483 | Privacy | Regolamentazione | Mappa del sito ]
Associazione Hosters Registrars Italiani