我正在尝试调试 WordPress 3.5.1 的问题,我根本无法通过 HTTP 上传媒体;媒体上传器只是说“HTTP 错误”并失败。为了诊断发生了什么,我决定编写(即从 w3schools 复制)一个非常基本的 PHP 文件上传器,以查看幕后是否发生了一些奇怪的事情。但由于某种原因,该$_FILE
结构根本不包含任何信息,即使在最基本的示例中也是如此:
文件.php:
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
上传.php:
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
在我尝试过的每个浏览器中,对于我尝试过的每个文件,这只是输出:
Upload:
Type:
Size: 0 kB
Stored in:
打印$_FILES
显示它只是一个空数组。
我PHP-5
在共享主机(lunarpages)上使用,但php.ini
文件已file_uploads
打开,而且我尝试过的文件大小与upload_max_filesize
. 我准备把我的笔记本电脑扔到墙上,所以任何帮助都会为我节省几千美元。