Utiliser dataTransfer pour unpload de fichier dans un drag&drop

Fermé
lamouchetsetse Messages postés 112 Date d'inscription samedi 2 août 2014 Statut Membre Dernière intervention 21 septembre 2021 - 1 sept. 2014 à 22:55
 iUser - 9 sept. 2014 à 19:30
Bonjour,
je souhaite effectuer un upload de fichier via un drag&drop

J'ai créé un script qui fonctionne, seulement, je ne sais pas comment récupérer les données en php. Est ce que dataTransfer fonction comme un input type="file"? Puis-je ainsi récupérer les donnée comme d'habitude en php avec un $_FILE?

Voici mon script:
var drop = function(e) 
{
     e.preventDefault();
     var files = e.dataTransfer.files,
          filesLen = files.length,
          filenames = "",
          idImage = document.getElementById('image'),
          filetab = [];
	                    
      for(var i = 0 ; i < filesLen ; i++) 
      {
           filetab.push(files[i]);
      }
       this.id = '';

       var xhr = new XMLHttpRequest();
       xhr.open('POST', 'ajouCatPHP.php')
                        
       xhr.onreadystatechange = function()
       {
	    if(xhr.readyState == 4 && xhr.status == 200)
	    {
		   alert(responseText);
	    }
	    else
	    {
		  alert('Erreur');
	    }
        }
        var form = new FormData();
        form.append('file', filetab);
        xhr.send(form);
                        
};
idFieldsetAjTab.addEventListener('drop', drop, false);


Voila, il ce peu que mon script comporte des erreur car je l'est écris en vitesse.
Ma questionest donc comment gérer ça en php?

Merci beaucoup pour le coup de main.
@ bientôt.

A voir également:

1 réponse

$uploaddir = 'uploads/';
foreach($_FILES as $file)
{
if(move_uploaded_file($file['tmp_name'], $uploaddir .basename($file['name'])))
{
$files[] = $uploaddir .$file['name'];
}
else
{
$error = true;
}
}
$data = ($error) ? array('error' => 'Une erreur est survenue') : array('files' => $files);
echo json_encode(data);
0