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 裡的配置混為已添加了。
---------------------
作者:bubbleTg
來源:CSDN
原文:https://blog.csdn.net/qq_36570464/article/details/80692241
版權宣告:本文為博主原創文章,轉載請附上博文連結!