您的位置 首页 php

PHP处理文件上传的函数

下面是具体的函数

 //上传处理函数
 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"] . "<br>";
 }
 else
 {
 move_uploaded_file($_FILES["file"]["tmp_name"], "./imgfile/".$move_to_file);
 }
 }
 else
 {
 if ($_FILES["file"]["size"]/1024/1024< 2)
 {
 echo "<p style='font-size:30px;'>这不是图片,不要开玩笑<br/>如果识别失败,请检查如下几个原因:<br/>1.上传文件是否为图片<br/>2.文件大小不能超过2M<br/>3.文件名最好使用英文字母或数字</p>";
 }
 else
 {
 echo "<p style='font-size:30px;'>文件大小为".($_FILES["file"]["size"]/1024/1024)."MB,超过2M的限制<br/>如果识别失败,请检查如下几个原因:<br/>1.上传文件是否为图片<br/>2.文件大小不能超过2M<br/>3.文件名最好使用英文字母或数字</p>";
 }
 }
 }
 

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

上传一个8M的图片

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

这样在后台也做到了限制

文章来源:智云一二三科技

文章标题:PHP处理文件上传的函数

文章地址:https://www.zhihuclub.com/79771.shtml

关于作者: 智云科技

热门文章

网站地图