Heim >php教程 >php手册 >功能控制完备的PHP上载程序(2)

功能控制完备的PHP上载程序(2)

WBOY
WBOYOriginal
2016-06-21 09:02:20958Durchsuche

 

$canshuZoneId=1;

}else{

if($canshuZoneId==0) {

continue;

}else{

break;

}

}

}else{

if($canshuZoneId==0) continue;

}//
区域选择结束





$id_temp=substr($value,0,$keylength);

if($id_temp==$actionID){

//
开始取参数

$callback=trim(strrchr($value, " "));

$value=trim(substr($value,0,strlen($value)-strlen($callback)));



$limitSite=trim(strrchr($value, " "));

$value=trim(substr($value,0,strlen($value)-strlen($limitSite)));



$checkFile=trim(strrchr($value, " "));

$value=trim(substr($value,0,strlen($value)-strlen($checkFile)));



$fileType=trim(strrchr($value, " "));

$value=trim(substr($value,0,strlen($value)-strlen($fileType)));



$maxLength=trim(strrchr($value, " "));

$value=trim(substr($value,0,strlen($value)-strlen($maxLength)));



$user=trim(strrchr($value, " "));

$value=trim(substr($value,0,strlen($value)-strlen($user)));



$targetDir=trim(strrchr($value, " "));

$value=trim(substr($value,0,strlen($value)-strlen($targetDir)));



return true;

}else{

continue;

}



}//while
结束,能运行到这一步说明没有找到匹配的ID

return false;



}elseif($actionType=="del"){



//
如果是删除文件操作

while (list($key,$value) = each($fileArray)) {

$value=trim($value);

//
判断参数区域,将参数提取限制在 删除 文件设置区

$Zone_temp=substr($value,0,1);

if($Zone_temp=="["){//
开始一个参数区域

if(strstr($value, "del")){

$canshuZoneId=1;

}else{

if($canshuZoneId==0) {

continue;

}else{

break;

}

}

}else{

if($canshuZoneId==0) continue;

}//
区域选择结束





$id_temp=substr($value,0,$keylength);

if($id_temp==$actionID){

//
开始取参数

$user=trim(strrchr($value, " "));



return true;

}else{

continue;

}



}//while
结束,能运行到这一步说明没有找到匹配的ID



return false;

}else{//
既不是up,也不是del

return false;

};



return false;

}

##
取配置文件参数函数结束



//
主程序

$configureFile="config.inc.php";

$actiontype=trim($actiontype);



##
上传文件

if($actiontype=="upload"){

if(!($actionid && $username && $password && $userfile_name)) {

echo "
操作ID、用户名、密码、上传文件缺一不可!href=javascript:window.history.back()>点这里返回修改";

exit;

}



if(!get_config($configureFile,$actionid,$actiontype)){echo "
不合法的操作IDhref=javascript:window.history.back()>点这里返回修改";exit;}



if($userfile_size>$maxLength*1024){echo "
上传的文件超过规定大小的上限。href=javascript:window.history.back()>点这里返回修改";exit;}



if(!getUserRight($username,$user) && !getFileType($userfile_name,$fileType)){exit;} //
可调整



if($limitSite!="*") if(checkFromSiteErr($HTTP_REFERER,$limitSite)) exit;



if($checkFile!="*") {

$cmd_return_var=passthru($checkFile." ".$userfile_name);//
命令行参数要求问检查文件名 + 空格 + 上传文件名

//$cmd_return_var=true;//
程序开发的时候使用,请删除
if(!$cmd_return_var){

echo "
您上传的文件没有通过我们的检查,请上传符合要求的文件。href=javascript:window.history.back()>点这里返回修改";

exit;

}

};//
调用外部程序检查,不符合要求的文件返回 false,符合要求返回true;



if(""==trim($newname)){$newname=$userfile_name;};//
处理文件名

$targetFileName=$targetDir."/".$newname;



if(file_exists($targetFileName)){

$oldTargetSize=filesize($targetFileName);

if($userfile_sizeoldTargetSize
){

echo "您要上传的目标文件已经存在。上传动作被取消。href=javascript:window.history.back()>点这里返回修改";

exit;

}

};



copy($userfile,$targetFileName) or die;

chmod($targetFileName,0666);//110110110





//
日志信息

$message=date("Y-m-d H:i:s")." remote_ip:".$REMOTE_ADDR." UserName:".$username." FileName:".$newname."";

putLog($actionid,$message);



header("location:".$callback);

exit;

};

##
上传完毕

##
删除管理

if($actiontype=="del"){

if(!($actionid && $username && $password )) {

echo "
操作ID、用户名、密码缺一不可!href=javascript:window.history.back()>点这里返回修改";

exit;

}

   

if(!get_config($configureFile,$actionid,$actiontype)){echo "
不合法的操作IDhref=javascript:window.history.back()>点这里返回修改";exit;}



if(!getUserRight($username,$user)){exit;}



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn