PHP下傳檔案一個很奇怪的有關問題

來源:互聯網
上載者:User
PHP上傳檔案一個很奇怪的問題
下面的的form提交頁面
HTML code


upload.php頁面的代碼
PHP code
    if($_FILES["spic"]["error"] != 0)    {        switch($_FILES["spic"]["error"])        {            case 1:                echo "上傳的檔案超過了 php.ini 中 upload_max_filesize 選項限制的值。 ";                break;            case 2:                echo "上傳檔案的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。 ";                break;            case 3:                echo "檔案只有部分被上傳。 ";                break;            case 4:                echo "沒有檔案被上傳。 ";                break;            default:                echo "未知錯誤";                        }    }else    {        echo "沒有發生錯誤";        }


我在form表單裡邊有限制最大的尺寸 MAX_FILE_SIZE=1M 如果我上傳word 圖片 如果是超過1M的話會提示的 但是我換了一個大於1M的exe 竟然可以上傳成功
查看了PHP.INI之後更加鬱悶

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "d:/wamp/tmp"

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

我沒有修改過設定檔!
設定檔限制最大2M但是我上傳exe的檔案傳了 30M左右的 竟然沒有報錯。

大牛門幫忙看看什麼問題

------解決方案--------------------
遇到問題,首先開啟error_reporting(E_ALL),然後對症下藥
------解決方案--------------------
你表單裡隱藏欄位的值沒有加入判斷,怎麼會起效?

既然你php.ini中設定了上傳的最大大小。應該會生效。檢查重啟了伺服器沒有。
------解決方案--------------------
PHP code
if (isset($_POST['sub'] ){} else {   echo '檔案過大或者,其他未知錯誤!';}//如果小於1M,echo $_POST['sub'] 會顯示upload;,但是如果大於,echo $_POST['sub'] 就會顯示空;
------解決方案--------------------
對,應該用樓上的方法,判斷 sub 表單按鈕是否被點擊提交來判斷檔案上傳

然而另一方面,我調試的時候上傳個1.73MB的exe檔案是可以正常上傳的,估計是配置問題,而不是代碼存在問題
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.