php $_FILES错误说明 以及图片前端图片上传失败。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36570464/article/details/80692241

今天被一个问题弄了好久,

先看代码:

前端:

<form method="post" action="upimage.php" enctype="multipart/form-data">
 <input type="hidden" value="204800" name="MAX_FILE_SIZE"/>
 File: <input type="file" name="file" />
 <input type="submit" value="OK" name="submitbtn" style="width:100px;height:23px"/></center>
</form>

php:(部分)

 $imgfile=$_FILES["file"];
$submitbtn=$_POST['submitbtn'];
var_dump($imgfile);
 if($submitbtn=='OK' and is_array($imgfile)){      // is_array 检测变量是否是数组
 $name=$imgfile['name'];  //取得图片名称
 $type=$imgfile['type']; //取得图片类型
 $size=$imgfile['size'];  //取得图片长度
 $tmpfile=$imgfile['tmp_name'];  //图片上传上来到临时文件的路径
     // is_uploaded_file 判断文件是否是通过 HTTP POST 上传的
 if($tmpfile and is_uploaded_file($tmpfile)){  //判断上传文件是否为空,文件是不是上传的文件


通过运行:

上传小一点图片没有问题,大一点的就不行了,自然而然会想到是文件限制的问题?

由于刚接触不太懂,中间走了不少弯路。

最后通过:

var_dump($imgfile);

添加var_dump();看看打印的是什么


如图,这是打印的结果,可以看见error  的值为2!!!关于

PHP $_FILES错误说明error 0,1,2,3,4,5,6,7

点击可查看:


我们发现是文件超出了大小。

经过网上查找,我只这么搜索的:“其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

网上出现很多解决方法:好像没有一个符合的,都是讲什么php .ini 配置文件里 的upload_max_filesize 值改大什么的。

我试了,没用,好吧,这样来回折腾,几个小时过去了,最后

我删了

<input type="hidden" value="204800" name="MAX_FILE_SIZE"/>

然后再次上传,然后成功了,


我又比对了文件。




可以发现,这里是文件的大小value 限制了,完全不够,

所以,最根本的原因,就是value 大小太小了。我们的设置大一点,问题解决了。


value  的里面数值单位是字节

这里是重点,所以我们不要在把php.ini 里的配置混为已添加了。




阅读更多

没有更多推荐了,返回首页