Formulaire et telechargement de fichier

Fermé
eliah - 18 mai 2005 à 11:39
 eliah - 18 mai 2005 à 15:29
Quelqu'un peut il m'aider a trouver pourkoi ce code ne fonctionne pas:

 case Alignement:
	 if (isset($_REQUEST['alignement1'])){
	 $savefile=$Desktop.$_FILES["alignement1"]["name"];
	 $temp=$_FILES["alignement1"]["tmp_name"];
	 if(!move_uploaded_file ($temp,$savefile)){
	 echo "erreur de copie" ;
	 }
	 $nomfichier=$_FILES['alignement1']['name'];
	 $valeur=fread (fopen($nomfichier,"r"),filesize($nomfichier));
	 fclose($nomfichier);
	 $rien=unlink($savefile, $temp);
	}
	else {
	$valeur=$_POST['alignement1'];
	}
	break;
	}


En effet dans mon formulaire je veux pour un champs alignement
avoir la possibilité soit de le remplir par un fihcier a telecharger soit par un textarea.

Seulement je n'arrive pas a le faire.
Le telechargement de fichier tout seul fonctionne et le textarea tout seul fonctionnne mais quand je met un test plus rien ne marche.

Aidez moi please
A voir également:

5 réponses

C bon j'ai reussi a trouver la solution...

Juste une dernière chose, j'ai des warning qui apparaissent quand je recupere les valeurs de mon fichier (mais le telechargmeent fonctionne quand meme).

J'aimerai les masquer ou alors si vous savez pourkoi...
moi j'ai pas trouver

Voici les warning:
Warning: fclose(): supplied argument is not a valid stream resource in /usr/local/apache/serveurs/fonctions.cgi on line 200
 
 Warning: Wrong parameter count for unlink() in /usr/local/apache/serveurs/fonctions.cgi on line 201


et mon code pour telecharger le fichier:
if($_POST[truc]!=''){
	 $valeur=$_POST['truc'];
	}
	else {
	 $savefile=$Desktop.$_FILES["truc2"]["name"];
	 $temp=$_FILES["truc2"]["tmp_name"];
	 if(!move_uploaded_file ($temp,$savefile)){
	 echo "erreur de copie" ;
	 }
	 $nomfichier=$_FILES['truc2']['name'];
	 $valeur=fread (fopen($nomfichier,"r"),filesize($nomfichier));
	 fclose($nomfichier);
	 $rien=unlink($savefile,$temp);
	}


jpensai que ca venai des cotes mais quand je change j'ai toujours les erreurs..
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
18 mai 2005 à 15:14
tu as une erreur au niveau de ta lecture de fichier, et le code de ELSE (la derniere partie appartient au ELSE):

if($_POST[truc]!=''){
	 $valeur=$_POST['truc'];
	}
	else {
	 $savefile=$Desktop.$_FILES["truc2"]["name"];
	 $temp=$_FILES["truc2"]["tmp_name"];
	 if(!move_uploaded_file ($temp,$savefile)){
	     echo "erreur de copie" ;
             $valeur="";
	 } else {
            $fichstrm=fopen($savefile,"r");
	    $valeur=fread ($fichstrm,filesize($fichstrm));
	    fclose($fichstrm);
            $rien=unlink($savefile,$temp);
            }
	}


je crois que le fichier ne reste pas sur le serveur apres le script? non?
c'est c'est ce que tu veux, tu n'a pas besoin de faire toutes ces fonctions ("move_uploaded_file" puis "unlink"), mais plutot travailler avec le fichier temporaire
0
merci de ton aide

encore une pitite question ca donne quoi si jme sert du fichier temporaire???

car effectivement je ne garde pas le fichier je garde juste le contenu de celui ci
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
18 mai 2005 à 15:26
fait ça :
if($_POST[truc]!=''){
	 $valeur=$_POST['truc'];
	}
	else {
            $temp=$_FILES["truc2"]["tmp_name"];
            $fichstrm=fopen($temp,"r");
	    $valeur=fread ($fichstrm,filesize($fichstrm));
	    fclose($fichstrm);
            }
	}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Il m'affiche ca:

Warning: filesize() [function.filesize]: Stat failed for Resource id #9 (errno=2 - No such file or directory) in /usr/local/apache/serveurs/fonctions.cgi on line ..
0