3

我已经为这个问题在互联网上搜索了两天,希望其他人之前遇到过这个问题。我看到很多关于文件上传和 PHP 的问题,但我的问题略有不同。我希望我只是错过了一些非常明显的东西。

看起来好像我的表单中的数据永远不会完全到达服务器,因为填充在$_FILES数组中的唯一参数是“名称”。

例如,这是一个$_FILES的 vardump :

array(1) { ["gameimage"]=> array(1) { ["name"]=> string(15) "Donkey-kong.gif" } }

不存在错误代码、不存在tmp_name和不存在类型

这是我正在测试的一些非常基本的 HTML:

<form name="upload-image-form" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<input type="file" name="gameimage" size="30" />
<input type="submit" value="Submit" />
</form>

这是我的相关 php.ini 设置:

file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 10
upload_tmp_dir is default, but I have tried with /tmp as well.

运行 PHP 5.3.8

我怀疑 apache mod_rewrite 或其他一些 apache mod 正在干扰。

我完全控制了主机,它是一个在 AWS 中运行的微实例。

任何帮助,将不胜感激!

修正#1:

我已经从 Chrome 和 FF 中的浏览器控制台验证数据正在通过 http 正确传输。我的测试文件非常小,不到 10kb。

修正#2:

似乎其他人,使用完全相同的 AWS 实例,也遇到了同样的问题:

http://www.webmasterworld.com/php/4452298.htm

这些版本的 apache 和 linux 似乎存在一些核心问题。

4

0 回答 0