1. 程式人生 > >php $_FILES錯誤說明 以及圖片前端圖片上傳失敗。

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
版權宣告:本文為博主原創文章,轉載請附上博文連結!