Grosse modification d'un script

Le forum de l'Annuaire Francophone des Scripts CGI: CGI : Problème avec un script: Grosse modification d'un script

Anonyme

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;


}


Ajouter un message


Ceci est une zone publique. Si vous n'avez pas de compte, entrez votre nom dans le champ "Identificateur" et laissez le mot de passe vide. Votre adresse E-mail est facultative.
Identificateur :  
Mot de passe :
E-mail :
Poster "anonymement"