我的另一個原文: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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!