为什么$ _FILES超级全球总是空的

时间:2011-03-17 03:17:54

标签: php html file-upload gd

这是我的page

这是我的表格

<h2>Upload Photo</h2>
<form name="photo" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
Photo <input type="file" name="image" size="30" /> <input type="submit" name="upload" value="Upload" />
</form>

我把它放在最上面

<?php print_r($_FILES);?>

该脚本在本地完美运行,当我在服务器上运行时,我什么也得不到......

我有这套

ini_set ('max_execution_time', '86400'); 
set_time_limit(86400); 
ini_set("memory_limit","128M");
ini_set('max_upload_filesize', "30M"); 
ini_set("post_max_size", "150M"); 
ini_set("session.gc_maxlifetime","10800");

echo 'file_uploads: '. ini_get('file_uploads'). '<br />';
echo 'upload_tmp_dir: '. ini_get('upload_tmp_dir'). '<br />';
echo 'upload_max_filesize: '. ini_get('upload_max_filesize'). '<br />';
echo 'max_file_uploads: '. ini_get('max_file_uploads'). '<br />';

我认为它可能是gd但启用了

GD Support  enabled
GD Version  bundled (2.0.34 compatible)
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.1.9
T1Lib Support   enabled
GIF Read Support    enabled
GIF Create Support  enabled
JPG Support     enabled
PNG Support     enabled
WBMP Support    enabled
XBM Support     enabled

2 个答案:

答案 0 :(得分:3)

在服务器上扔一个<?php phpinfo(); ?>文件,然后查看file_uploads部分以确保它已设置为开启。我也会检查phpinfo(),因为我有时会看到奇怪的东西,只需检查ini_get()....

你还检查过Firebug以确保文件正在发送吗?

答案 1 :(得分:0)

我有同样的问题,我通过编辑我的.htaccess文件来捕获,因为它包含一个在Url中重写以隐藏网页中的扩展名的函数。 也许你有同样的问题。 将.htaccess文件的名称更改为Test it。