PHP上传文件如何知道超过upload_max_file的值

zhouyequ 2014-12-11 11:20:02
在用PHP上传文件的时候,如果上传文件超过post_max_file的时候,$_FILES打印出来的是NULL值,请问各位朋友,有什么方法知道已经超过post_max_file的值,而且让它报相应的错误呢?
...全文
257 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
司码君 2014-12-15
  • 打赏
  • 举报
回复
//按不同的上传模式设置参数 if(isset($_SERVER['HTTP_CONTENT_DISPOSITION']) && preg_match('/attachment;\s+name="(.+?)";\s+filename="(.+?)"/i', $_SERVER['HTTP_CONTENT_DISPOSITION'], $info)) { $this->upload_method = self::HTML5_UP; //获取原始文件名 $this->upload_name = urldecode($info[2]); //获取文件类型 $this->upload_type = pathinfo($this->upload_name, PATHINFO_EXTENSION); //获取文件出错情况 $this->upload_error = 0; //获取文件大小 $this->upload_size = $_SERVER['CONTENT_LENGTH']; //获取原始文件扩展名 $this->ext_name = pathinfo($this->upload_name, PATHINFO_EXTENSION); } else if(isset($this->upload_file)) { $this->upload_method = self::NORMAL_UP; //获取原始文件名 $this->upload_name = $this->upload_file[$this->upload_flag_name]["name"]; //获取文件类型 $this->upload_type = $this->upload_file[$this->upload_flag_name]["type"]; //获取临时文件名 $this->upload_tmp_name = $this->upload_file[$this->upload_flag_name]["tmp_name"]; //获取文件出错情况 $this->upload_error = $this->upload_file[$this->upload_flag_name]["error"]; //获取文件大小 $this->upload_size = $this->upload_file[$this->upload_flag_name]["size"]; //获取原始文件扩展名 $this->ext_name = pathinfo($this->upload_name, PATHINFO_EXTENSION); } else { $this->upload_error = 6; } 思路就是4楼的思路,这是代码实现,可以获得上传文件的参数,包括文件大小。 有苏州的PHP开发者吗?欢迎加入苏州PHP开发者部落,群号码:262578767
「已注销」 2014-12-15
  • 打赏
  • 举报
回复
$_FILES["file"]["error"]是错误代码,0表示没有错误,下面几种对应不同的错误 1 : 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值. 2 : 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 3 : 文件只有部分被上传 4 : 没有文件被上传
一起混吧 2014-12-12
  • 打赏
  • 举报
回复
$_FILES 为空就是一个信号,phpinfo() 看post_max_file的值也能知道。
傲雪星枫 2014-12-12
  • 打赏
  • 举报
回复
超過就直接出錯了。還怎樣知道呢? 一般做法是post_max_size設大,然後在程序中限制。
「已注销」 2014-12-12
  • 打赏
  • 举报
回复
加个判断 $File['size'] <= 500 * 1024 or die(2); //文件超出500kb

21,892

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧