[請益]無法上傳檔案 有CONTENT_LENGTH空$_FILES
遇到一個奇怪的問題,明明 PHP 有收到檔案,
$_SERVER['CONTENT_LENGTH'] 不是空的,但 $_FILES 陣列卻是空的,
而 upload tmp dir 裡也沒有檔案。
以下是我的測試,沒發現問題在哪,不知道各位有沒有什麼建議?
測試用的 upload_test.php
<?php
if ( 'POST' === $_SERVER['REQUEST_METHOD'] ) {
echo 'var_dump($_SERVER[\'CONTENT_LENGTH\']) : ';
var_dump($_SERVER['CONTENT_LENGTH']);
echo 'var_dump($_FILES) : ';
var_dump($_FILES);
} else {
echo 'there\'s no file uploaded'."\n";
}
?>
測試沒有檔案上傳:
root@m:/var/www# curl localhost/upload_test.php
there's no file uploaded
測試上傳:
傳了一個 1.1K 的文字擋上去,有傳到 PHP,但 $_FILES 陣列印出來卻是空的:
root@m:/var/www# curl localhost/upload_test.php -F file=@test.txt
var_dump($_SERVER['CONTENT_LENGTH']) : string(4) "1287"
var_dump($_FILES) : array(0) {}
檢查 apache/php.ini 相關的設定,檔案沒有超出上傳限制
safe_mode Off Off
file_uploads On On
max_execution_time 3000 3000
max_file_uploads no value no value
max_input_nesting_level 64 64
max_input_time 3000 3000
max_input_vars 1000 1000
post_max_size 128M 128M
upload_max_filesize 128M 128M
upload_tmp_dir /var/tmp/php /var/tmp/php
suhosin.upload.disallow_binary 0 0
suhosin.upload.disallow_elf 1 1
suhosin.upload.max_uploads 25 25
suhosin.upload.remove_binary 0 0
suhosin.upload.verification_script no value no value
檢查 upload_tmp_dir 資料夾權限,全開通行無阻
root@m:/etc/php5# ll -d /var/tmp/php
drwxrwxrwx 2 www-data www-data 4096 2012-02-10 13:44 php/
環境是
Ubuntu-Server 11.10 (Oneiric Ocelot) + Apache 2.2 + PHP 5.3.6
以 apache php module 方式運行
root@m:/etc/php5/apache2# dpkg -l |grep apache2
ii apache2 2.2.20-1ubuntu1.1 Apache HTTP Server metapackage
ii apache2-doc 2.2.20-1ubuntu1.1 Apache HTTP Server documentation
ii apache2-mpm-prefork 2.2.20-1ubuntu1.1 Apache HTTP Server - traditional non-threaded model
ii apache2-utils 2.2.20-1ubuntu1.1 utility programs for webservers
ii apache2.2-bin 2.2.20-1ubuntu1.1 Apache HTTP Server common binary files
ii apache2.2-common 2.2.20-1ubuntu1.1 Apache HTTP Server common files
ii libapache2-mod-php5 5.3.6-13ubuntu3.5 server-side, HTML-embedded scripting language (Apache 2 module)
root@m:/etc/php5# php --version
PHP 5.3.6-13ubuntu3.5 with Suhosin-Patch (cli) (built: Feb 9 2012 05:59:54)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.239.135
※ 編輯: beatada 來自: 163.26.239.135 (02/10 16:07)
推
02/10 16:13, , 1F
02/10 16:13, 1F
→
02/10 20:04, , 2F
02/10 20:04, 2F
→
02/10 20:04, , 3F
02/10 20:04, 3F
→
02/10 20:05, , 4F
02/10 20:05, 4F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章