Forums d'entraide informatique - Les forums de PCW

Version complète : recuperer les donnees a partir de type='file'
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
salut !!
alors voila mon probleme:
j'ai une popup ou je dois selectionner un fichier et un bouton pour valider mon choix:

<FORM method=post action="exec.php" target="page.php" ENCTYPE="multipart/form-data">
<input type='file' size='75' value='' name='fichier'/>
<input type="button" name="Vérifier" value="Vérifier" class="valider" &amp;#0111;nclick="java&amp;#0115;cript:lien('exec.php')"/>
</FORM>

et je veux donc recuperer mon fichier (et son chemin)
mais je ne sais pas comment faire .

ne faites pas attention a :target="page.php" et &amp;#0111;nclick="java&amp;#0115;cript:lien('exec.php')", c'est juste pour ouvrir dans une autre fenetre que la popup.

merci d'avance !!
Je ne suis pas tout a fais sur de bine comprendre ta question tu veux récupérer les infos des champs de ton form ?

$_POST['nomduchamp']

JE ne comprend pas trop bien ta question xD
Le chemin que tu veux récupérer, c'est celui du fichier sur le serveur ou le chemin entré par l'utilisateur qui le met dans le champs de fichier pour uploader le fichier ?

Pour récupérer le fichier déjà :

Dans exec.php (le fichier qui va être exécuté par le formulaire) :



//on vérifie qu'un fichier aie bien été envoyé
if&amp;#40;isset&amp;#40;$_POST&amp;#91;'fichier'&amp;#93;&amp;#41; AND $_POST&amp;#91;'fichier'&amp;#93; != NULL&amp;#41;

&amp;#123;

//On simplifie le nom des variables $_FILES
$tmp_name = $_FILES&amp;#91;'fichier'&amp;#93;&amp;#91;'tmp_name'&amp;#93;;
$name = $_FILES&amp;#91;'fichier'&amp;#93;&amp;#91;'name'&amp;#93;;
$size = $_FILES&amp;#91;'fichier'&amp;#93;&amp;#91;'size'&amp;#93;;
$type = $_FILES&amp;#91;'fichier'&amp;#93;&amp;#91;'type'&amp;#93;;
$erreur = $_FILES&amp;#91;'fichier'&amp;#93;&amp;#91;'error'&amp;#93;;

//On affiche les différentes variables

echo "Nom du fichier &amp;#58; ".$name;
echo "&amp;#60;br&amp;#62;Taille du fichier &amp;#58; ".$size;
echo "&amp;#60;br&amp;#62;Type de fichier &amp;#58; ".$type;
echo "&amp;#60;br&amp;#62;Nom temporaire &amp;#58; ".$tmp_name;
echo "&amp;#60;br&amp;#62;Erreur &amp;#58; ".$erreur;

//On crée une variable contenant le répertoire de destination
$uploadpath="./tonrepertoire/";

//On déplace le fichier du dossier temporaire vers le dossier de destination

move_uploaded_file&amp;#40;$tmp_name,$uploadpath.$name&amp;#41; or die&amp;#40;'problème au déplacement du fichier depuis le répertoire temporaire vers le nouveau répertoire'&amp;#41;;

echo 'Fichier bien envoy&amp;eacute;';
&amp;#125;

else &amp;#123; echo 'Veuillez s&amp;eacute;lectionner un fichier &amp;agrave; envoyer'; &amp;#125;



A moins que tu ne veuilles pas que le formulaire serve à envoyer des fichiers...? Mais dans ce cas, il ne faut pas utiliser un champs de type "file" Smile

D'ailleurs, tu as oublié le "MAX_UPLOAD_FILESIZE" comme attribut de la balise <input> quand c'est un type=file

Hoola j'avais meme pas vu !
merci, je vais essayer tout de suite !!
mais j'avoue que je ne comprend pas trop les $_FILES.
je vous tiens au courant !!
Re !!!
alors avec :

if(is_uploaded_file($_FILES['signature']['tmp_name'])) {
move_uploaded_file($_FILES['signature']['tmp_name'], "$uploadpath$name");}

move_uploaded_file($tmp_name,$uploadpath.$name) or die('problème au déplacement du fichier depuis le répertoire temporaire vers le nouveau répertoire');

ou autre chose similaire, il me fait toujours les mêmes erreurs, je ne vois pas dutout pourquoi eskil ya des pb de deplacement :

Warning: move_uploaded_file(./home/web/outils/&amp;#0115;criptDaniel.txt) [function.move-uploaded-file]: failed to open stream: No such file or directory in chemin/mapage.php

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php0McmwT' to './home/web/outils/&amp;#0115;criptDaniel.txt' in chemin/mapage.php

ou 'problème au déplacement du fichier depuis le répertoire temporaire vers le nouveau répertoire';
1 )Si tu la pas déjà fait, crée un fichier sessions a la racine, c'est con mais free même des fois sur les $_file merde !

2 ) LE dossier en question a t'il les droit d'écriture (CHMOD) ?

3) On va déjà calé les deux ^^
emma13 a écrit :Re !!!
alors avec :

if(is_uploaded_file($_FILES['signature']['tmp_name'])) {
move_uploaded_file($_FILES['signature']['tmp_name'], "$uploadpath$name");}

move_uploaded_file($tmp_name,$uploadpath.$name) or die('problème au déplacement du fichier depuis le répertoire temporaire vers le nouveau répertoire');

ou autre chose similaire, il me fait toujours les mêmes erreurs, je ne vois pas dutout pourquoi eskil ya des pb de deplacement :

Warning: move_uploaded_file(./home/web/outils/&amp;#0115;criptDaniel.txt) [function.move-uploaded-file]: failed to open stream: No such file or directory in chemin/mapage.php

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php0McmwT' to './home/web/outils/&amp;#0115;criptDaniel.txt' in chemin/mapage.php

ou 'problème au déplacement du fichier depuis le répertoire temporaire vers le nouveau répertoire';

Hum... est-ce le nom de ta balise input type=file est maintenant "signature" ? Car je vois que tu as écris "signature" dans l'array...
Ensuite, le &amp;#0115;cript entier (enfin toute la partie qui gère le fichier, si le &amp;#0115;cript fait d'autre chose) nous serait utile !

Enfin, si tu mets "$uploadpath.$name" alors ca veut dire que tu as bien pensé à mettre un "/" à la fin de ton $ulploadpath hein ?

Une histoire de CHMOD c'est bien possible Smile

Mais ca nous serait bien utile de connaître tout le code Smile
salut !!
c'est bon, ça marche.
oui j'avais bien mis signature (j'avais mis fichier , juste pour vous expliquer et j'ai oublié de le faire dans mon dernier message).
mon problème, c'etait juste un point "." qui s'etait glissé dans le code lolll !!
merci de votre aide.

EMMA
Le "." devant "/home" ? ^^"

Content d'avoir pu t'aider Wink

Tu peux rajouter [Résolu] au début du titre de ton premier post en éditant ce dernier Wink
URLs de référence