il connait pas la routine start_html() ! faut ajouter une methode?(j'suis completement paumé moi :? )
Version imprimable
il connait pas la routine start_html() ! faut ajouter une methode?(j'suis completement paumé moi :? )
alors il va falloir lire la doc de CGI !
ton script, c'est bien un truc comme :
n'est ce pas ?Code:
1
2
3
4
5
6
7
8
9
10 #!c:/Perl/bin/perl -w use strict; use CGI; my $query_cgi = new CGI; print $query_cgi->header, start_html(); ....... ton code d'upload de fichier.... print $query_cgi->end_html;
j'ai en fait remplacerpar :Code:print $query_cgi->header, start_html();
et maintenant plus de message internal server error mais le nom de mon fichier qui s'ecrit plein de fois :)Code:
1
2 print $query_cgi->header(); print $query_cgi->start_html();
oki ! et il n'y a pas un endroit où il disparait ? ce qu'il y a d'intéressant dans ces moments-là, c'est de faire
histoire de voir quel n° te manque ;)Code:
1
2
3
4
5
6
7
8 ....code print "1 : $Filename"; .....code print "2 : $Filename"; ....code print "3 : $Filename"; etc...
voila j'obtient partout ou j'ai mis des print les affichage du nom du fichier! :?
dans ce bout de code le nom s'affiche 14 fois:
dans celui la une fois :Code:
1
2
3
4
5
6 while (my $bytesread = read($File[$NumFile], my $buf, 1024)) { print "le dernier ", $FileName,"\n<br>"; print OUTFILE $buf; } close (OUTFILE);
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 for(my $moni=0;scalar(@thatisgood) > $moni;$moni++) { if ((index(lc($FileName), $thatisgood[$moni]) != -1) || ($filenotgood eq "no")) { $filenotgood = "no"; if (index(lc($FileName), $thatisgood[$moni]) != -1) { print "index #", $moni," ", $FileName,"\n<br>"; $FileSave = "file_upload.xls"; # 7 } } else { $filenotgood = "yes"; } }
et tu as tjrs des messages d'erreur dans ton log ? ton fichier ne s'uploade tjrs pas ?
non toujours ca :
c'est quand meme etrange :?Citation:
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
[Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] Use of uninitialized value in string ne at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 39.\n
tu peux remontrer ton script entier à tout hasard ?
volontier Mr6 :wink: :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 #!c:/Perl/bin/perl -w use strict 'vars'; use strict 'refs'; use CGI ; my $req = new CGI; print $req->header(); print $req->start_html(); #--------------------------------------------------------# #------------------ Get the excel file -----------------# #--------------------------------------------------------# # Constantes my $NumFile = 1; my $Monupload = ""; # Répertoire d'arrivée des fichiers my $basedir = "htdocs"; # Autorisation des types de fichiers my $everythings = "no"; # Extension acceptée my $accepte = ".xls"; # Page de redirect my $namefile = "send_ok.html"; # Nombre de boucle my $Nbboucle = 3; my @File; my $FileSave; while ($NumFile != $Nbboucle) { # Récupération des données $File[$NumFile] = $req->param("FILE".$NumFile); #print $NumFile,"\n"; my $filenotgood = ""; if ($File[$NumFile] ne "") { my $FileName = $File[$NumFile]; $FileName =~ s!^.*(\\|\/)!!; print "le nom du fichier est : ", $FileName,"\n<br>"; # Vérification de la validité de l'extension my @thatisgood=split(/\+/, $accepte); # Vérification du fichier si toutes les extensions ne sont pas acceptés. if ($everythings ne "yes") { for(my $moni=0;scalar(@thatisgood) > $moni;$moni++) { if ((index(lc($FileName), $thatisgood[$moni]) != -1) || ($filenotgood eq "no")) { $filenotgood = "no"; if (index(lc($FileName), $thatisgood[$moni]) != -1) { print "index #", $moni," ", $FileName,"\n<br>"; $FileSave = "file_upload.xls"; # 7 } } else { $filenotgood = "yes"; } } } # Récupération du fichier if ($filenotgood ne "yes") { open (OUTFILE, ">$basedir/$FileSave"); while (my $bytesread = read($File[$NumFile], my $buf, 1024)) { print "le dernier ", $FileName,"\n<br>"; print OUTFILE $buf; } close (OUTFILE); } } $NumFile++; } print $req->end_html;
ton fomulaire, mets-lui ca :
Pour sûr, chez moi ca marche ;)Code:
1
2
3
4
5 <form action="/cgi-bin/le_nom_de_ton_fichier.pl" method="post" ENCTYPE="multipart/form-data"> <h4>Please send your excel file:</h4> <INPUT TYPE=file NAME="FILE1" SIZE=30 MAXLENGTH=80>
----
et pour ton script, j'ai fait ca :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 #!c:/Perl/bin/perl use strict; use CGI; my $req = new CGI; print $req->header(); print $req->start_html(); my $UPLOAD_DIR = "./"; my $UPLOAD_URL = "./"; my $doc = $req->param('FILE1'); my $result = upload($doc) if $doc ne ""; print "$result"; print $req->end_html; sub upload { my $doc = $_[0]; my @t = split /\\/,$doc; my $doc_name = $t[$#t]; my($query, $file_name, $upload_dir) = @_; my($size, $buff, $bytes_count); $size = $bytes_count = 0; if (! $doc) { return "Le document n'existe pas !!!"; } if (-e "$UPLOAD_DIR$doc_name") { unlink "$UPLOAD_DIR$doc_name"; # return "Le document existe déjà !!!"; } # else { my ( @safedoc_name ) = ( $doc_name =~ /(\w+)/g ); my $safedoc_name = "@safedoc_name"; $safedoc_name =~ s/\s/\./g; open(FILE,">$UPLOAD_DIR$safedoc_name") || print ("Error opening file $file_name for writing, error $!", 1); binmode FILE; while ($bytes_count = read($doc, $buff, 1024)) { $size += $bytes_count; print FILE $buff; } close(FILE); return "La doc $UPLOAD_DIR$safedoc_name a été enregistré et pèse $size."; # } }
AAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHH!
:twisted: j'avais envie de crier! :twisted:
ca marche pas chez moi !!!
oops............ ca marche :lol:
Bon Mr6 je ne sais comment te remercier de ton aide et de ta patience, heureusement que le monde de la programation a des gens come toi :wink:
si on se croise j'te paie une biere :D
chic ! faudra que tu me dises quand tu passes dans le bordelais alors :lol:
ah le bordelais n'est pas au programme pour l'instant mais etant breton exilé a Panam si tu passes par l'un de ces coins de france ... :D