Problème AJAX - input type file

Répondre
hitchou
le 16/04/2009 à 16:24
hitchou
Bonjour !
Je voudrais savoir s'il est possible de récupérer le nom d'un fichier obtenu dans un input type="file" et de le transmettre via une fonction ajax.
J'ai pour le moment essayé de faire cela de cette manière :

var nomduFichier = document.getElementById("importFile").value;
$.ajax({ type:"POST", url:"mailing.php", data: "nomduFichier="+nomduFichier, });

Malheureusement quand je veux récupérer la variable nomduFichier dans une variable de type $filename = $_FILES[''.$nomduFichier.'']['name']; j'obtiens une erreur me disant que l'index est indéfini. Quelqu'un a-t-il une solution à mon problème ?
Merci d'avance
LupusMic
le 16/04/2009 à 21:10
LupusMic
La solution est de ne pas le faire avec AJAX :D

En fait, pour des raisons de sécurité, tu n'as pas le droit d'accéder au contenu des champs input de type file.

De plus, pour les même raisons de sécurité, tu n'es pas autorisé à accéder aux fichiers sur le disque dur. (Même si on peut avoir une solution spécifique si c'est nécessaire)

Et pour finir, le tableau $_FILES contient les fichier uploadés, il ne permet pas d'accéder aux fichiers locaux du client.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
hitchou
le 16/04/2009 à 23:35
hitchou
D'accord et merci. J'ai abandonné l'idée d'AJAX cet après-midi, ça m'embête un peu car je dois récupérer des données dans plusieurs formulaires mais je pense pouvoir le faire :)
Par contre quand tu dis qu'on ne peut pas accéder aux fichiers sur le disque tu veux dire en écriture ? Parce que j'accède bien à un fichier du disque (fichier .zip) que je décompresse sur mon serveur...
En tout cas merci encore pour ta réponse et bonne soirée
LupusMic
le 17/04/2009 à 00:49
LupusMic
Quel est le problème des formulaires multiples ?

On ne peut accéder aux fichiers en lecture et en écriture. En fait, le fichier auquel tu accèdes dans ton script PHP, c'est le fichier téléchargé, lu par le navigateur sur requête de l'utilisateur. Mais finalement, tu ne peux pas accéder directement au fichier sur le disque de l'utilisateur, uniquement à une copie qu'il a bien voulu que le navigateur envoie au serveur.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
hitchou
le 17/04/2009 à 08:17
hitchou
Merci pour les explications sur les fichiers.
Concernant les formulaires multiples le problème c'est que je ne peux pas les "submiter" tous en même temps
LupusMic
le 17/04/2009 à 19:43
LupusMic
Il faut alors tout mettre dans le même formulaire ;)
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours