[英]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.