PHP处理文件上传的函数

2022-10-11 21:40:27 121 0
魁首哥

下面是具体的函数

 //上传处理函数
 public function upload(){
 //上传的文件名
 $ file _name=$_FILES["file"]["name"];
 //移动存储的文件名
 $move_to_file=date("Ymdhis").substr($file_name,strrpos($file_name,"."));
 // 允许上传的图片后缀
 $allowedExts = array("gif", "jpeg", " jpg ", " png ");
 $temp =  explode (".", $_FILES["file"]["name"]);//把字符串分割为数组,在这里是名字和后缀
 $extension = end($temp);//将指针指向数组中的最后一个元素,并输出
 // 获取文件后缀名
 if ((($_FILES["file"]["type"] == "image/gif")
 || ($_FILES["file"]["type"] == "image/jpeg")
 || ($_FILES["file"]["type"] == "image/jpg")
 || ($_FILES["file"]["type"] == "image/pjpeg")
 || ($_FILES["file"]["type"] == "image/x-png")
 || ($_FILES["file"]["type"] == "image/png"))
 && ($_FILES["file"]["size"]/1024/1024< 2) // 小于 2M
 && in_array($extension, $allowedExts))
 {
 if ($_FILES["file"]["error"] > 0)
 {
 echo "错误:: " . $_FILES["file"]["error"] . "
"; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "./imgfile/".$move_to_file); } } else { if ($_FILES["file"]["size"]/1024/1024< 2) { echo "

这不是图片,不要开玩笑
如果识别失败,请检查如下几个原因:
1.上传文件是否为图片
2.文件大小不能超过2M
3.文件名最好使用英文字母或数字

"; } else { echo "

文件大小为".($_FILES["file"]["size"]/1024/1024)."MB,超过2M的限制
如果识别失败,请检查如下几个原因:
1.上传文件是否为图片
2.文件大小不能超过2M
3.文件名最好使用英文字母或数字

"; } } }

我写了很多的注释,希望大家能够看的懂,主要控制的是两个事情,一个是文件的类型,另外一个就是文件的大小,下图如果所示

上传一个8M的图片

如果随便上传不是图片的东西

这样在后台也做到了限制

收藏
分享
海报
0 条评论
121
上一篇:OpenSSL修复可被黑客攻击的服务器崩溃高危漏洞 下一篇:单点登录简单实现「PHP」

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码