Bonjour à tous voila que j'éssai d'inclure l'envoi d'images dans mon formulaire qui ne veulent tout simplement pas partir, pourtant lorsque je les sélectionne il apparait pourtant que j'ai choisi 4 fichiers par exemple mais a l'envoi

//voila le code nest pas plus compliqué que sa
<form action="ajouter-photos.php" enctype="multipart/form-data" method="POST">
                <input type="file" name="[]magallerie" id="" autocomplete="off" multiple>
         <div class="btn-container"><button type="submit" class="btn">Ajouter</button>   
 </form>

 // et voici le cas de figure de lerreur ()

 if(empty($_FILES)) {

  echo('Aucune image téléchargée');

    exit();

}

6 réponses


Modifie ton code comme cela :

<form action="ajouter-photos.php" enctype="multipart/form-data" method="POST">
                <input type="file" name="magallerie[]" id="" autocomplete="off" multiple>


foreach($_FILES['magallerie'] as $key=>$value){

// début du switch

if($_FILES['magallerie']['error'] !== UPLOAD_ERR_OK){

    switch($_FILES['magallerie']['error']) {

        case UPLOAD_ERR_PARTIAL:

          $erreur['situation']="Le ficher a été partielement téléchargé";

          $erreur['toast']="toast error";

  echo json_encode($erreur);

            exit();

            break;

        case UPLOAD_ERR_NO_FILE : 

          $erreur['situation']='Aucun fichier téléchargé';

          $erreur['toast']="toast error";

  echo json_encode($erreur);

            exit();

            break;

            default: 

            $erreur['situation']="erreur inconnu";

            $erreur['toast']="toast error";

             echo json_encode($erreur);

            exit();

            break;

    }

}```

rebonjour merci encore pour l'aide là maintenant je suis dans le dernier cas de figure , le default on me dit une erreur inconnu je sais pas a quoi celà est du

Bonsoir,

Fichiers trop volumineux ?

nonpas du tout le fichier n'est pas volumineux

rebonjour après de nombreuses recherches j'ai pu trouver une solution a mon problème, j'arrive maintenant a uploader plusieurs fichiers à la fois le problème est que chaque fichier sélectionné est uploader 2fois :D

<?php

SESSION_START();
$erreur=[];

if($_SERVER['REQUEST_METHOD'] != 'POST') {

      $erreur['situation']="'Méthode d'envoi POST necesssaire...'";

      $erreur['toast']="toast error";

  echo json_encode($erreur); exit();

}

    $allowed_types = array('jpg', 'png', 'jpeg', 'gif');
    $maxsize = 10 * 1024 * 1024; 

    if(!empty(array_filter($_FILES['magallerie']['name']))) {

        // Loop through each file in files[] array
        foreach ($_FILES['magallerie']['tmp_name'] as $key => $value) {

            $file_tmpname = $_FILES['magallerie']['tmp_name'][$key];
            $file_name = $_FILES['magallerie']['name'][$key];
            $file_size = $_FILES['magallerie']['size'][$key];
            $file_ext = pathinfo($file_name, PATHINFO_EXTENSION);
            $base=$_SESSION['mail'];
            $complete_name= $base.'.'.$file_ext;
            $destination = __DIR__."/images_clients/".$complete_name;

            $filepath = $destination.$complete_name;

            if(in_array(strtolower($file_ext), $allowed_types)) {

                if ($file_size > $maxsize) {
                                $erreur['situation']="érreur : taille du fichier dépassé";

                                $erreur['toast']="toast error";

            echo json_encode($erreur); 
                }       

                $i=1;
                $index=null;

                while (file_exists($destination)){

                     $complete_name= $base.":$i.".$file_ext;

                     $destination = __DIR__."/images_clients/".$complete_name;

                       $index=$i;

                      $i++; 
                  } 

                  if( !move_uploaded_file($file_tmpname, $destination)){

                      $erreur['situation']='Erreur impossible de télécharger cette image !';

                      $erreur['toast']="toast error";

                      echo json_encode($erreur); exit();
                    } 

                    else{

                         if($index !=null){ 

    $filename="images_clients/".$base . ":$index.". $file_ext;

    require_once 'classes.php';

     $insert=$pdo->prepare("INSERT INTO images_clients SET nom=?,prenoms=?,pseudo=?,mail=?,lien=?,date =? ");

    $insert->execute([$_SESSION['nom'],$_SESSION['prenoms'],$_SESSION['pseudo'],$base,$filename,date('d-m-Y H:i:s')]);

    $erreur['situation']="La photo a bien été ajoutée";

    $erreur['toast']="toast success";

    echo json_encode($erreur); 

}else{

        $filename="images_clients/". $base. "." . $file_ext;

    require_once 'classes.php';

     $insert=$pdo->prepare("INSERT INTO images_clients SET nom=?,prenoms=?,pseudo=?,mail=?,lien=?,date =? ");

    //  $insert->execute([$_SESSION['nom'],$_SESSION['prenoms'],$_SESSION['pseudo'],$_SESSION['mail'],$filename,date('d-m-Y H:i:s')]);

       $insert->execute([$_SESSION['nom'],$_SESSION['prenoms'],$_SESSION['pseudo'],$base,$filename,date('d-m-Y H:i:s')]);

            $erreur['situation']="Les photos ont bien été ajoutées";

            $erreur['toast']="toast success";

            echo json_encode($erreur); 

}

                    }
            }
            else {

                // If file extension not valid
                                 $erreur['situation']="érreur : Format du fichier non valide";

                                 $erreur['toast']="toast error";
            } 
        }
    } 
    else {

        // If no files selected
       $erreur['situation']="érreur : Aucun fichier sélectionné";

                                $erreur['toast']="toast error";
    }