Sondage :

Publicité




Partenaires




Jmax-Hardware

mxdev.net

feedburner
donate.gif


344 visiteur(s) en ligne
Forums d'entraide informatique - Les forums de PCW
[Résolu] recuperer les donnees a partir de type='file' - Version imprimable

+- Forums d'entraide informatique - Les forums de PCW (http://forum.pcinfo-web.com)
+-- Forum : Forum Informatique (/forumdisplay.php?fid=39)
+--- Forum : Internet - Navigation -Programmation - Scripts - Developpement (/forumdisplay.php?fid=8)
+--- Discussion : [Résolu] recuperer les donnees a partir de type='file' (/showthread.php?tid=1225)



[Résolu] recuperer les donnees a partir de type='file' - emma13 - 15-05-2007 14:17 PM

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 !!


- Zarnergun - 15-05-2007 15:31 PM

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


- Troll - 15-05-2007 16:17 PM

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


- Zarnergun - 16-05-2007 05:29 AM

Hoola j'avais meme pas vu !


- emma13 - 16-05-2007 06:47 AM

merci, je vais essayer tout de suite !!
mais j'avoue que je ne comprend pas trop les $_FILES.
je vous tiens au courant !!


- emma13 - 16-05-2007 09:28 AM

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';


- Zarnergun - 16-05-2007 14:54 PM

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 ^^


- Troll - 16-05-2007 16:11 PM

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


- emma13 - 18-05-2007 11:33 AM

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


[Résolu] recuperer les donnees a partir de type='file' - Troll - 19-05-2007 08:18 AM

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