Uploader un fichier en PHP

Résolu
Bonjour,

Savez-vous comment uploader un fichier en PHP ? Avec cURL ? Autre ?

En gros je veux avoir un équivalent du formulaire html mais en PHP.

Merci d'avance.

3 réponses

  1. Voici un bon exemple qui explique l'upload d'un fichier EXCEL 2003:

    formulaire: form.html:

    <form action="form_handle.php" method="POST" enctype="multipart/formdata">
    <input type ="file" name="fich" class="ipnut_20" >
    <input type="submit">
    </form>


    form_handle.php:

    <?php
    $error='';
    if ($_FILES['fich']['error'] > 0)
    $error = "error lors du transfert du fichier";

    if ($_FILES['fich']['error']==UPLOAD_ERR_INI_SIZE)
    $error = "fichier dépassant la taille maximale autorisée par PHP";

    if ($_FILES['fich']['error']==UPLOAD_ERR_FORM_SIZE)
    $error = "fichier dépassant la taille maximale autorisée par le formulaire";

    if ($_FILES['fich']['error']==UPLOAD_ERR_PARTIAL)
    $error = "fichier transféré partiellement";
    echo "name:".$_FILES['fich']['name'].'<br>' ; //Le nom original du fichier, comme sur le disque du visiteur (exemple : mon_fich.png).
    echo "type:".$_FILES['fich']['type'].'<br>' ; //Le type du fichier. Par exemple, cela peut être « image/png ».
    echo "size:".$_FILES['fich']['size'] .'<br>' ; //La taille du fichier en octets.
    echo "tmp_name:".$_FILES['fich']['tmp_name'].'<br>' ; //L'adresse vers le fichier uploadé dans le répertoire temporaire.
    echo "error:".$_FILES['fich']['error'].'/'.$error.'<br>' ; //Le code d'error, qui permet de savoir si le fichier a bien été uploadé.

    if($_FILES['fich']['type']!='application/vnd.ms-excel')
    $error="Le fichier doit etre forcément Excel(xls).";

    if ($_FILES['fich']['error']==UPLOAD_ERR_NO_FILE)
    $error = "fichier manquant";

    echo $error;
    if($error=='')
    {
    $resultat = move_uploaded_file($_FILES['fich']['tmp_name'],'fich.xls');
    $temp = explode(".", $_FILES["fich"]["name"]);
    $extension = end($temp);
    if ($resultat)
    {
    echo '<font color="green"><center>Transfert du fichier réussi<br></font></center>';
    echo '<font color="green"><center>Extension:'.$extension.'<br></font></center>';
    }
    }
    ?>
    1. Bonjour,

      Tu peux utiliser ton formulaire HTML et récupérer l'upload côté php, via un fichier que tu nommes upload.php :

      <?php
      $uploads_dir = '/uploads';
      foreach ($_FILES["pictures"]["error"] as $key => $error) {
      if ($error == UPLOAD_ERR_OK) {
      $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
      $name = $_FILES["pictures"]["name"][$key];
      move_uploaded_file($tmp_name, "$uploads_dir/$name");
      }
      }
      ?>

      Au préalable, créer un répertoire /uploads sur ton serveur.
      Ne reste qu'à envoyer ta requête HTML à upload.php.

      Le fichier upload.php est à adapter à tes besoins...

      Discussions similaires

      question pix mot caché

      7 réponses