簡體   English   中英

PHP move_uploaded_files()函數不適用於超過2MB的圖片

[英]PHP move_uploaded_files() function not working with pics sizes more than 2MB

大家都安心,我有一個問題,就是我每次嘗試使用該功能時

move_upload_files()
我發現它可以完美地用於小於2MB的圖像,並且我已經修改了php.ini並使用了ini_set('upload_max_filesize', '10M'); 每次我重新啟動wamp服務時,它仍然是一樣的,僅上傳小於2MB的文件! 有什么建議么?

move_uploaded_files()不在乎上傳文件的大小。 它只是移動它們。 您很可能具有系統設置的上傳限制,導致上傳被中止。 由於您是在問這個問題,因此它意味着您的上載腳本中絕對沒有錯誤處理,並且僅假設所有上載將始終成功。

a)您需要增加上傳限制。 這必須在php.ini級別(或httpd.conf / .htaccess)上完成。 此處列出了各種設置: http : //www.php.net/manual/zh/features.file-upload.post-method.php

b)您需要添加錯誤處理,以捕獲上載DO失敗的時間。 就像是

if ($_FILES['uploadedfile']['error'] !== UPLOAD_ERR_OK) {
   die("Upload failed with error code #" . $_FILES['uploadedfile']['error']);
}

是絕對的最低要求。 此處提供了可用的錯誤代碼的詳細信息: http : //www.php.net/manual/zh/features.file-upload.errors.php

您可以嘗試更改其他設置。 使用以下代碼檢查設置:

echo ini_get('post_max_size');
echo ini_get('upload_max_filesize');

如果低於10M,則可以通過以下方式進行更改

ini_set('upload_max_filesize', '10M');

或通過htaccess(如果您的服務器允許)

php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_execution_time 200
php_value max_input_time 200

為了完整起見,您可以將php.ini設置編輯為

upload_max_filesize = 10M
post_max_size = 10M

要檢查的另一件事是表單代碼是否具有正確的屬性

method="POST" enctype="multipart/form-data"

https://stackoverflow.com/a/12685461/2701758

暫無
暫無

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

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