今天写的是文件上传,前几天自学的正规则又忘记了,用了很笨的方法去判断格式,直接上代码:
<span style="color: #000000;">php
</span><span style="color: #008000;">/*</span><span style="color: #008000;">*
* Created by PhpStorm.
* User: Administrator
* Date: 16-9-12
* Time: 上午10:01
*
* 文件上传
*
</span><span style="color: #008000;">*/</span>
?>
登录后复制
php
if(
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 为佳.