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. 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...
    0
    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>';
      }
      }
      ?>
      0
      1. Eufff J'ai pas bien lu votre question!!!! Déjà votre question est un peu ambigu!!!???

        Vous pouvez uploader un fichier depuis un serveur A (ou s'exécute le code php ) vers un autre serveur B si tu connectais simplement en FTP vers le serveur B? (https://www.php.net/manual/fr/function.ftp-fput.php
        0

        Discussions similaires

        question pix mot caché

        7 réponses