www.pudn.com > bbs3000afree.zip > photo.cgi


#!/usr/bin/perl 
#------------------------------------------------------# 
#         本程序为Yuzi工作室提供        # 
#        Yuzi论坛3000(BBS3000)v4.00      # 
#------------------------------------------------------# 
$cgipa=".";  # CGI程序文件的绝对路径 
$maxphoto = 50000;  #上传照片文件大小限制 
###################### 
## 以下部分不需修改 ## 
###################### 
require "$cgipa/setup.cgi"; 
&GetCookies; 
if($Cookies{username}){open(PSD,"$filepath/yhzl/$Cookies{username}.cgi")||&errorview("对不起,此用户名还没有注册!");$liness=;close(PSD);($password)=split(/\t/,$liness);if($password ne $Cookies{password}){&errorview("对不起,您的密码错误!");}} 
if($Cookies{username} eq ""){print "Content-type: text/html\n\n";exit;} 
if ($username eq ""){$username=$Cookies{username}}; 
open(PSD,"$filepath/yhzl/$username.cgi"); 
$line=; 
close(PSD); 
($rdpassword,$rdname,$rdmail,$rdhome,$rlast,$rdqm,$rdsex,$rdwork,$rdcity,$rdlove,$rfy,$rhf,$tu,$jiao,$iewin,$QQ,$photo)=split(/\t/,$line); 
if($photo eq ""){ 
print "Content-type: text/html\n\n"; 
print < 
EOF 
}else{ 
if (-e "$ImgDir/img/$username.jpg") {$ttt="$ImgurlDir/$photo.jpg"}else{$ttt="$imagurl/photo.gif"}} 
binmode(STDIN); 
read (STDIN,$postinfo,$ENV{'CONTENT_LENGTH'}); 
$temps=substr($postinfo,0,80); 
$temps=~/(.*)\n/; 
$bound=$1; 
@fields=split(/$bound/,$postinfo); 
foreach $field(@fields) 
{ 
($name,$value)=split(/\x0d\n\x0d\n/,$field); 
if (($name=~/Content-Disposition/)&&($value ne '')) 
{chomp($value); 
$value=~s/(\x0d)$//g; 
$name=~s/Content-Disposition: form-data; //g; 
($formdata,$filedata)=split(/ /,$name); 
($formvalue,$formname)=split(/=/,$formdata); 
$formname=~s/^\"//; 
$formname=~s/\;$//; 
$formname=~s/\"$//; 
if ($filedata ne '') 
{ 
($filetitle,$filename)=split(/=/,$filedata); 
$filename=~s/\n+Content-Type://g; 
$filename=~s/^\"//; 
$filename=~s/\"//; 
$filevalue = $value; 
$FORMFILE{$filename}=$value; 
} 
else { 
$value=~s/(.*)\n(.*)/$1/; 
$value=~s/\r//; 
$FORM{$formname}=$value; 
}} 
} 
@querys = split(/&/, $ENV{'QUERY_STRING'}); 
foreach $query (@querys) { 
($name, $value) = split(/=/, $query); 
$FORM{$name} = $value; 
} 
if ($FORM{'work'} ne "") 
{ 
$work=$FORM{'work'}; 
$name=$FORM{'name'}; 
} 
if ($work eq "posted"){&posted;exit;} 
&css; 
print " 




个人照片上传处

、请点取下面的“浏览”按键选择您要上传的图片
(图片尺寸:200 X 150象素 GIF、JPG格式):



您目前的照片
、选择好您要上传的图片后,请按下面的确认键开
始上传...
、对已上传照片不满意的用户,可以重新上传新照
片覆盖原照,具体操作与首次 上传一致。
返 回
\n\n"; sub posted { $photo=&uploadfiles($filename); print "Content-type: text/html\n\n"; print " 您已经成功地将您的照片上传到服务器中,请稍候,系统将自动返回.....

如果系统没有反应,请点击这里返回!\n\n"; } sub uploadfiles { $photo =1; local($uploadfile)=$_[0]; if ($uploadfile=~ /([^\/\\]+)$/) { $Filename = $1; $Filename =~s/^\.+//; } $filelen=length($filevalue); $Filename=~tr/A-Z/a-z/; ($lujin,$jpg)=split(/\./,$Filename); $jpg =~s/\r//g; if(($jpg ne "jpeg")&&($jpg ne "jpg")&&($jpg ne "")&&($jpg ne "gif")){&errorview("对不起,您的照片必须是GIF或者JPG格式的文件!");} if ($filelen > $maxphoto) { &errorview("上传照片文件超长!您上传的照片文件长度是 $filelen byte, 本站接受的照片最大长度是 $maxphoto byte!");exit; } if ($photo) { open(OUTFILE, ">$ImgDir/img/$username.jpg") || &errorview("上传文件错误,不能创建文件。

1、请检查存放图片文件目录的绝对路径!
2、请把image目录属性改成777。"); binmode (OUTFILE); print OUTFILE $filevalue; close(OUTFILE); chmod("$ImgDir/img/$username.jpg",0777); } return $filelen; } ######################### END OF SCRIPT #########################