您好,欢迎访问一九零五行业门户网

php学习笔记:文件的上传(包含设置文件的上传大小限制)

今天写的是文件上传,前几天自学的正规则又忘记了,用了很笨的方法去判断格式,直接上代码:
php/** * created by phpstorm. * user: administrator * date: 16-9-12 * time: 上午10:01 * * 文件上传 * */?>
上传文件:
phpif(isset($_post['subbtn'])){ echo $_files['file']['type'].
; /* * jpg image/jpeg * gif image/gif * png image/png * */ //文件上传处理程序: //$_files['file']['type'] 上传文件的类型 //$_files['file']['size'] 上传文件的大小 //$_files['file']['error'] 上传错误代码 //$_files['file']['name'] 上传文件名 //$_files['file']['tmp_name'] 临时文件名//$filename=a.txt;//$pos = strrpos($filename,.);//$ext = strtolower(substr($filename,$pos));// $file = $_files['file']; $filename=$file['name']; echo '后缀切割前:'. $file['name'].
; //确定最后一个.出现的位置 $pos = strrpos($file['name'],'.'); //转换文件名为小写 $ext = strtolower( $filename); //提取文件名后缀 $fileexten=substr($ext,$pos+2); //判断文件后缀时候符合特定要求,这里设置为:jpg jpeg doc if($fileexten=='jpg'||$fileexten=='jpeg'||$fileexten=='doc' ){ echo 文件后缀:. $fileexten.
; echo 文件类型:. $file['type'].
; echo 文件大小:. $file['size'].
; echo 错误代码:. $file['error'].
; echo 文件名:. $file['name'].
; echo 临时文件名:. $file['tmp_name'].
; move_uploaded_file($file['tmp_name'], files/.$file['name']); }else echo 文件格式不对;}?>
格式不对的,直接被拦截。
如果要修改上传的文件大小限制,可以参考下面的做法:
1. 一般的文件上传,除非文件很小.就像一个5m的文件,很可能要超过一分钟才能上传完.
但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.
这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time
在php.ini里查找
max_execution_time
默认是30秒.改为
max_execution_time = 0
0表示没有限制
2. 修改 post_max_size 设定 post 数据所允许的最大大小。此设定也影响到文件上传。
php默认的post_max_size 为2m.如果 post 数据尺寸大于 post_max_size $_post 和 $_files superglobals 便会为空.
查找 post_max_size .改为
post_max_size = 150m
3. 很多人都会改了第二步.但上传文件时最大仍然为 8m.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8m改为
upload_max_filesize = 100m
另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.
其它类似信息

推荐信息