| samedi 30 décembre 2000 - 14h39 bonjour, j'essaye d'uploader un fichier word avec les instructions suivantes : open (fichier, ">../$nom.doc"); while ($bytesread=read($filename,$buffer,1024)) {print fichier $buffer;} close (fichier); le resultat est un fichier qui pese 0 ko si j'ote la 2 eme ligne (while ...) le fichier pese bien quelquechose, il contient bien ce qu'il devrait contenir, mais il contient en plus des donnees relatives au telechargement, comme le nom, le format, etc. que me conseillez vous ?
| |
| samedi 30 décembre 2000 - 21h00 Bonjour, il y a un autre thread ou le problème de l'upload est abordé. http://www.scripts-fr.com/forum/cgi-bin/show.cgi?29/135 Avez vous vérifié que votre formulaire soit déclaré en multipart. Quelle librairie utilisez vous pour faire l'upload ? cgi-lib ou CGI.pm ?
| |
| samedi 30 décembre 2000 - 21h19 le formulaire erst bien déclaré en multipart, ...quand a la librarie, je ne sais pas trop (j'ai du oublier d'y faire appel ...comment fait on cela ?) voici le script en entier : #!/usr/local/bin/perl #--------------- Récupération des informations--------------- if ($ENV{'REQUEST_METHOD'} eq "POST" ) { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); $Recu="STDIN (Methode POST)" } else { $Recu="QUERY_STRING (Methode GET)"; $buffer = $ENV{'QUERY_STRING'}; } # Traitement et découpage. @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%(..)/pack("C", hex($1))/eg; $FORM{$name} = $value; } $filename=$FORM{filename}; #----------------------variable pour test-------------------- $nom="toto"; #---------------------upload proprement dit------------------ open (fichier, ">../baset/fiches2/Jean Duffas/$nom.txt"); while ($bytesread=read($filename,$buffer,1024)) {print fichier $buffer;} close (fichier); #------------------redirection apres l'upload----------------- print location ............etc. exit;
|