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 ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
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
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
Hum... si, il fait partie de l'API des input de type file. Seuls IE et Opera () ne sont pas compatibles.
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
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/
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
comme quoi quand on est focalisé sur la paille, on ne voit pas la poutre
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
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