$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 "<html>操作id、用户名、密码、上传文件缺一不可!<a href=javascript:window.history.back()>点这里返回修改</a></html>";
exit;
}
if(!get_config($configurefile,$actionid,$actiontype)){echo "<html>不合法的操作id。<a href=javascript:window.history.back()>点这里返回修改</a></html>";exit;}
if($userfile_size>$maxlength*1024){echo "<html>上传的文件超过规定大小的上限。<a href=javascript:window.history.back()>点这里返回修改</a></html>";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 "<html>您上传的文件没有通过我们的检查,请上传符合要求的文件。<a href=javascript:window.history.back()>点这里返回修改</a></html>";
exit;
}
};//调用外部程序检查,不符合要求的文件返回 false,符合要求返回true;
if(""==trim($newname)){$newname=$userfile_name;};//处理文件名
$targetfilename=$targetdir."/".$newname;
if(file_exists($targetfilename)){
$oldtargetsize=filesize($targetfilename);
if($userfile_size<=$oldtargetsize ){
echo "<html>您要上传的目标文件已经存在。上传动作被取消。<a href=javascript:window.history.back()>点这里返回修改</a></html>";
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 "<html>操作id、用户名、密码缺一不可!<a href=javascript:window.history.back()>点这里返回修改</a></html>";
exit;
}
if(!get_config($configurefile,$actionid,$actiontype)){echo "<html>不合法的操作id。<a href=javascript:window.history.back()>点这里返回修改</a></html>";exit;}
if(!getuserright($username,$user)){exit;}
新闻热点
疑难解答