cloudgamer无刷新上传文件的PHP版本修改

源文地址

/** 使用本程序之前,请修改php.ini中限制的单个文件最大容量
 * upload_max_filesize = 20M //最大文件限制
 * post_max_size = 20M //POST接收的最大限制,即所有上传文件的总量
 * 并最好与程序中的单个文件限制相同,以免出现验证错误
 * 本脚本文件编码为ANSI,建议修改为与其他文件一致的编码
 * 请自行修改可以上传的文件类型
 * 如果有需要,可以自行修改文件类型的验证方式,读文件开头的2字节,而不是通过后缀名
 * @filesource csdn网友mengshan1986提供的php版本
 * @changer klniuer
 * @site http://livesdrop.com
 **/
?>
$sort=12;
$f_type=strtolower("swf,jpg,rar,zip,7z,iso,gif");//设置可上传的文件类型
$file_size_max=20*1024*1024;//限制单个文件上传最大容量
$overwrite = 0;//是否允许覆盖相同文件,1:允许,0:不允许
$f_input="Files";//设置上传域名称
$_msg = "";
if (isset($_FILES[$f_input])){ //如果文件总大小超过服务器POST限制,文件就没有上传至服务器,foreach就不会执行,返回客户端的会是一个空字符串,此处加入验证
  foreach($_FILES[$f_input]["error"] as $key => $error){
    $up_error="no";
    if ($error == UPLOAD_ERR_OK && is_uploaded_file($_FILES[$f_input]['tmp_name'][$key])){ //加入安全验证
      $f_name=$_FILES[$f_input]['name'][$key];//获取上传源文件名
      $uploadfile=$uploaddir.strtolower(basename($f_name));
      $tmp_type=substr(strrchr($f_name,"."),1);//获取文件扩展名
      $tmp_type=strtolower($tmp_type);
      if(!stristr($f_type,$tmp_type)){
        $_msg .= "对不起,不能上传".$tmp_type."格式文件, ".$f_name." 文件上传失败!\\n";
        $up_error="yes";
      }elseif ($_FILES[$f_input]['size'][$key]>$file_size_max){
        $_msg .= "对不起,你上传的文件 ".$f_name." 容量为".round($_FILES[$f_input]['size'][$key]/1024/1024,1)."MB,大于限制的". round($file_size_max/1024/1024,1)."MB,上传失败!\\n";
        $up_error="yes";
      }elseif (file_exists($uploadfile) && !$overwrite){
        $_msg .= "对不起,文件 ".$f_name." 已经存在,上传失败!\\n";
        $up_error="yes";
      }else{//不需要随机数
        $t=date("ymdHis").substr($gettime[0],2,6).$rand;
        $attdir="file/";//将文件移至的目录,请根据自己情况修改,相对于该脚本路径
        if(!is_dir($attdir))
          mkdir($attdir);
        $uploadfile=$attdir.$t.".".$tmp_type;
        if(($up_error!="yes") and (move_uploaded_file($_FILES[$f_input]['tmp_name'][$key], $uploadfile))){
          $_msg .=$f_name.' 上传成功\\n';
        }else{
          $_msg .=$f_name.' 上传失败\\n';
        }
      }
    }elseif($error == UPLOAD_ERR_INI_SIZE){//调试使用,防止自己忘记更改upload_max_filesize 最大文件限制
      $msg .= "对不起,文件大小超过服务器限制,请通知管理员。\\n";
    }else{
      $msg .= "对不起,上传不可意料错误!\\n";
    }
  }
}else{
  $_msg .= "对不起,文件大小超过限制!\\n";//如果上传上来的文件为空,则判断文件超过限制大小
}
echo "<script type="text/javascript"><!--mce:0--></script>";
?>

完整程序:http://www.boxcn.net/shared/fur3frt2zd

This entry was posted in PHP, 原创 and tagged , , , . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">