Bonjour,
J'ai un input="file" multiple. J'ai également le script php d'upload de fichiers, mais je n'arrive pas envoyer ces fichiers à PHP via JSON et les récupérer dans PHP pour uploader.
Quelqu'un peut-il m'aider SVP
Bonjour,
J'ai un input="file" multiple. J'ai également le script php d'upload de fichiers, mais je n'arrive pas envoyer ces fichiers à PHP via JSON et les récupérer dans PHP pour uploader.
Quelqu'un peut-il m'aider SVP
On veut bien t'aider mais il faudrait montrer un peu de code, ce que tu as essayé, les problèmes que tu rencontres, etc...
il n'est pas possible d'envoyer un fichier par ajax
ajax converse avec le serveur en string ...
il existe des bidouilles qui permette de recupérer le code du fichier coté client et de l'envoyer au serveur sous form de string ...
Voilà en fait ce que le fais
Coté HTML
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <span class="file-wrapper"> <input type="file" name="photo[]" id="photo" multiple="multiple" size="100"/> <span class="button">Choose a Photo</span> </span><br> <input type="button" value="Envoyer Repertoire" id="envoyerFichier" />
Coté JQUERY
Et puis Coté PHP, code standard
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $('#envoyerFichier').click(function () { var files = $('input[type="file"]')[0].files; var data = {files: files}; $.post('enregistrerFichier.php', data, function(output) { alert(output); }); });
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $targetFolder = 'upload/files/Commentaires'; // Relative to the root if (!empty($_FILES)) { $tempFile = $_FILES['files']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'].$targetFolder; $targetFile = rtrim($targetPath,'/').'/'.$_FILES['files']['name']; // Validate the file type $fileTypes = array('jpg','jpeg','gif','png','txt','doc','docx','xls','pdf','xlsx'); // File extensions $fileParts = pathinfo($_FILES['files']['name']); if (in_array($fileParts['extension'],$fileTypes)) { move_uploaded_file($tempFile,$targetFile); echo $targetFolder.'/'.$_FILES['files']['name']; //echo $_SERVER['DOCUMENT_ROOT']; } else { echo 'Invalid file type.'; } }
Merci
il vient d'ou le .files ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part var files = $('input[type="file"]')[0].files;
http://jsfiddle.net/Ytf3M/96/
A priori pas crossbrowser ...
ffx n'aime pas
Hum... si, il fait partie de l'API des input de type file. Seuls IE et Opera () ne sont pas compatibles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 files[i].fileName; files[i].fileSize;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 files[i].name; files[i].size;
http://jsfiddle.net/Ytf3M/98/
comme quoi quand on est focalisé sur la paille, on ne voit pas la poutre
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager