簡體   English   中英

php文件上傳奇怪的錯誤

[英]php file upload strange error

為什么php給我文件上傳錯誤?

<?php

   if($_FILES["filename"]["size"] > 1024*25*1024)
   {
     $message = 'file must be less, than 25 mb';
     exit;
   }

   if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
   {

     move_uploaded_file($_FILES["filename"]["tmp_name"], "share/".$_FILES["filename"]["name"]);

     $message = 'succesfull!';
   } else {
      $message = 'Error upload file';
   }


?>

enctype ='multipart / form-data'的表單

在php.ini中,我有

upload_max_file_size:25 mb Max_post_data = 25 mb upload_tmp_dir = / tmp

為什么不起作用?

如果在$ _FILES上執行print_r,將看到錯誤代碼。 錯誤代碼的含義可以在這里找到:

http://www.php.net/manual/zh/features.file-upload.errors.php

驗證您的php.ini設置如下所示:

upload_max_file_size=25M

常見錯誤包括:

upload_max_file_size = 0.25M     // Must be an integer

upload_max_file_size = 25M       // No spaces around equal sign

upload_max_file_size=25MB        // Use M not MB

;upload_max_file_size=25M        // Semicolon in front comments out the line.

更改php.ini之后重新啟動服務器。

參考: http : //php.net/manual/en/faq.using.php#faq.using.shorthandbytes

如果您的內容長度大於最大文章大小,則應使用異常處理程序,或將此代碼放在頂部代碼中。

if ($_SERVER['REQUEST_METHOD']=='POST' && empty($_POST) && isset($_SERVER['CONTENT_TYPE']) && substr($_SERVER['CONTENT_TYPE'],0,19)=='multipart/form-data')
{
    if ($_SERVER['CONTENT_LENGTH']>1024*1024*25)
    {
        $message = 'file must be less, than 25 mb';
                exit;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM