[PHP / HTML] type="file" et récup des do

Fermé
bubuche87 Messages postés 41 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 26 janvier 2009 - 19 mars 2007 à 18:35
 piou - 31 mars 2008 à 11:11
bonjour tout le monde, et désolé de venir vous embeter à nouveau, mais j'ai cherché partout sur le net, et je n'ai pas trouvé la réponse à ma question.

Voila: j'ai un formulaire avec un input type="file", et je voudrai pouvoir recuperer l'adresse contenu dans ce champ.

Ne récupérant que le nom du fichier final, je me suis penché sur la question, et j'ai découvert qu'il fallait rajouter enctype="text/plain" dans la balise form. Mais quand je l'ai fait, toutes les variables qui sont envoyées lors du submit sont vides! (et je dis bien toute, autant les posts que les get, je veux dire).

Je ne comprend pas pourquoi O_O

merci pour votre aide.

(je viens de faire un print_r sur le tableau $GLOBALS, et il me retourne ça:

Array
(
[GLOBALS] => Array
*RECURSION*
[HTTP_RAW_POST_DATA] => action=fusion
image[]=28315-41.jpg
image[]=279228_5418392.jpg
trans=
pos[]=0
pos[]=0

[_POST] => Array
(
)

[_GET] => Array
(
)

[_COOKIE] => Array
(
)

[_FILES] => Array
(
)

)

c'est à dire que je pourrai effectivement récupérer les données, mais que encore une fois je n'ai que le nom finale du fichier, pas le C:/documents an settings ect.)

merci ^^
A voir également:

1 réponse

j'ai été confronté au même problème, j'ai trouvé une solution palliative, cependant cette dernière ne permet pas d'uploader le fichier mais seulement de récupérer l'adresse et le nom du fichier hôte. Pour ce faire on utilise une fonction javascript que l'on écrira dans les balises <head> de ta page :

<script type="text/javascript">
function modifierChemin()
{
document.forms['nom_du_form'].elements['cheminFichier'].value = document.forms['nom_du_form'].elements['nomFichier'].value;
}
</script>

puis dans ta balise form :

echo "<form action='mapage.php' method='post' name='nom_du_form'>";
echo "<p><input type='file' name='nomFichier' onChange='modifierChemin();' />";
echo "<input type='hidden' name='cheminFichier' value='' />";
echo "<input type='submit' name='valider' value='vailder' />";
echo "</form>";

il ne te reste plus qu'à récupérer dans ton autre page ('mapage.php') les données passées par la méthode POST :

echo $_POST['nomFichier'];
echo $_POST[''cheminFichier];

voila c'est la seule solution que j'ai trouvée. En espérant que ça t'aide

piou
-1