我的另一个原文: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 里的配置混为已添加了。
---------------------
作者:bubbleTg
来源:CSDN
原文:https://blog.csdn.net/qq_36570464/article/details/80692241
版权声明:本文为博主原创文章,转载请附上博文链接!