Upload de fichier via FormData()

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 - Modifié par kazma le 28/05/2015 à 16:16
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 - 28 mai 2015 à 16:41
Bonjour,

je m'essai actuelement a telecharger des fichier en utilisant un formulaire qui fonctionne avec l'api javascript FormData() qui theoriquement envoie les donné vers le serveur de la meme maniere qu'une formulaire et pour un fichier tout marche parfaitement mais le probleme que je rencontre c'est pour un telechargement multiple qui fonctionne de manière bizarre il télécharge plusieurs fois les meme image

au niveau debogage j'ai rajouter dans la boucle qui me sert a parcourir $_FILES une variable qui s'increment et a la fin quand je telecharge 3 image je me retrouve avec comme valeur 5

voici le code

<?php


if (isset($_FILES['image_0']) AND $_FILES['image_0']['error'] == 0){
 
 $count=count($_FILES);
 
 $tour=0;

 for ($i = 0; $i < $count; $i++){
 $tour++;
        if ($_FILES['image_' . $i]['size'] <= 2000000){
 
    $infosfichier = pathinfo($_FILES['image_' . $i]['name']);
   $extension_upload = $infosfichier['extension'];
   $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');

   $file = time() . $_FILES['image_' . $i]['name'];
 
       if (in_array($extension_upload, $extensions_autorisees)){
                        
      
      $uploadfile = 'recu/' . $file;  //repertoire et nouveau nom de l'image
      
      
       move_uploaded_file($_FILES['image_' . $i]['tmp_name'], $uploadfile);
      
       echo "<font color='green'>L'envoi de votre image bien été effectué !</font><br />";
                       
        echo'<center><a href="http://scriptevol.free.fr/reception/' .$uploadfile . ' "/>Voir l\'image</a></center> <br />';
      
      echo 'Voici quelques informations de débogage : <br /><br />';
      print_r($_FILES);
      
      echo '<br /><br />';
      
      echo $tour++;
                }
    
    else{
           echo "<font color='red'>(Seuls les fichiers jpg, jpeg, gif, png sont acceptés.)</font> ";          
                     }
        }
  
  else{
            echo "<font color='red'>Le fichier est trop volumineux.</font> <br />";
            echo "<font color='red'>(Poids limité à 4Mo)</font>";
        }
}
}



else{
    echo "<font color='red'>Veuillez selectionner un fichier.</font>"; 
}

?>



et la page pour tester

une idee ?

rien ne sert de courir il faut partir a point.
cours Forest cours !

1 réponse

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
Modifié par kazma le 28/05/2015 à 17:33
finalement j'ai trouvé c'etait une erreur javascript j'envoyai plusieurs fois les donné par contre des que je depasse quatres image sa ne fonctionne plus

rien ne sert de courir il faut partir a point.
cours Forest cours !
0
Rejoignez-nous