下面是具体的函数
//上传处理函数
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的图片
如果随便上传不是图片的东西
这样在后台也做到了限制
海报
124






