首页 > 开发 > PHP > 正文

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

2024-05-04 23:02:13
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  •  

    $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;}

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表