| mardi 09 janvier 2001 - 03h41 Bonjour Ci-joint une partie d'un script qui permet d'uploder des fichier et de le géré pour les téléchargé. Dans ce script j'aimerais ajouté 2 options : e-mail et images Mais comment faire ????? la variable upfile et le fichier uploder pour l'image la variable que j'ai mis dans le formulaire est image pour le e-mail la variable est e-mail Si vous n'avez pas assez d'ifo téléchargé le script mais attention c'est un shareware vous pouvez l'utilisez seulement 7 jours http://www.onlinearts.net/workshop/sharin_ware/files/Other/sharinware.zip Donc ce que je veut faire est de traité deux fichier en même temps (les images doivent être dans le même répertoire que les fichiers) #!/usr/local/bin/perl use File::Basename; require "cgi-lib.pl"; require "sharin_prefs.pl"; &get_time; # CHECK FOR TEMP FILE &weasel; opendir (FILELIST, "$datadir"); @filelist = readdir (FILELIST); closedir (FILELIST); foreach $file (@filelist){ $tester="$datadir/$file"; if (-M $tester >2){ unlink($tester) } } local (%cgi_data, # form data %cgi_client,# file upload name(s) %cgi_type, # file content-type(s) %cgi_temp, # file temporary name on the server $ret, # Return value of the ReadParse call. #$buffer # Buffer for data read from disk. ); # When writing files, several options can be set.. # Spool the files to the /tmp directory $cgi_lib::writefiles = "$datadir"; # Limit upload size to avoid using too much memory (1000=1k) set to 2 meg now $cgi_lib::maxdata = 2000000; # Start off by reading and parsing the data. Save the return value. # Pass references to retreive the data, the filenames, and the content-type $ret = &ReadParse(\%cgi_data,\%cgi_client,\%cgi_type,\%cgi_temp); ######## $cgi_client{'upfile'}=&strip($cgi_client{'upfile'}); $name_length=length($cgi_client{'upfile'}); $name_test=uc($cgi_client{'upfile'}); open (EXTS,"<$exts"); foreach (<EXTS>) { $extension=$_; $ext_length=length($extension); $ext_test=uc($extension); $ext_test=~ s/\s//g; $ext_test=~ s/\r//g; $ext_test=~ s/\n//g; $begin_check=($name_length - $ext_length)+1; $ext_list=$ext_list."\n<li>$ext_test</li>"; $big_test=substr($name_test,$begin_check,100); if ($big_test eq "$ext_test"){ $pass=1; } close (EXTS); } if ($pass != 1){ &sorry2; } if (-z $cgi_temp{'upfile'}){ &sorry; } ####### fileparse_set_fstype($cgi_data{'browser'}); $base= basename($cgi_client{'upfile'}, ""); $base =~ s/\%/X/g; $base =~ s/\#/X/g; $base =~ s/\/X/g; $base =~ s/\//X/g; $target2="$datadir/$cgi_data{'category'}/$base"; $description=&strip($cgi_data{'description'}); if (-e $target2){ &error; } print "content-type:text/html\n\n"; print "<HEAD><title>Congratulations!</title>\n"; print "<SCRIPT LANGUAGE = \"JavaScript\">\n"; print "<!-- hide it from old browsers\n"; print "function back(){\n"; print "history.go(-1);\n"; print "}\n"; print "// -->\n"; print "</SCRIPT></head>\n"; print "<body bgcolor=\"#fffff\" >\n"; print "<center><TABLE width=\"520\">\n"; print "<TR><TD colspan=\"2\"><font face=arial><H2>You Did It!</h2></TD></TR>\n"; print "<TR><TD colspan=\"2\"><font face=arial><P>Your file ($base) has been added to the $cgi_data{'category'} library. <P>To download another file, click <A href=\"javascript:back()\">here</a>. Or, return to the <a href=\"$home\">main page</a>.</td></tr>\n"; print "<BR><BR><strong></strong>\n"; print "</TABLE></center>\n"; print "</BODY></HTML>\n"; #CREATE TEMP FILE open (WEASEL, "+>$weasel"); rename ($cgi_temp{'upfile'}, $target2); #system ("copy $cgi_temp{'upfile'} $target2"); open (FILELIST, ">>$datafile"); print FILELIST "$daze|$cgi_data{'name'}|$base|$cgi_data{'title'}|$cgi_data{'category'}|$cgi_data{'platform'}|$description\n"; close (FILELIST); #DELETE Lock FILE close WEASEL; unlink ($weasel); sub sorry{ print "content-type:text/html\n\n"; print "<HEAD><title>File Size Error</title></head>\n"; print "<body bgcolor=\"#ffffff\" >\n"; print "<center><TABLE width=\"520\">\n"; print "<TR><TD colspan=\"2\"><H2>File Size Error</h2></TD></TR>\n"; print "<TR><TD colspan=\"2\"><P>You cannot upload a file that is 0k in size.</p></td></tr>\n"; print "<BR><BR><strong></strong>\n"; print "</TABLE></center>\n"; print "</BODY></HTML>\n"; exit; } sub sorry2{ print "content-type:text/html\n\n"; print "<HEAD><title>Unacceptable File Format</title></head>\n"; print "<body bgcolor=\"#ffffff\" >\n"; print "<center><TABLE width=\"520\">\n"; print "<TR><TD colspan=\"2\"><H2>Unacceptable File Format($big_test)</h2></TD></TR>\n"; print "<TR><TD colspan=\"2\"><P>You can only upload files with the following extensions:</p>$ext_list</td></tr>\n"; print "<BR><BR><strong></strong>\n"; print "</TABLE></center>\n"; print "</BODY></HTML>\n"; exit; }
|