我在 RHEL 6.2、PHP 4.4.9 和 Apache 2.2.15 上运行,最近一次升级后文件上传逻辑不再起作用。基本上,文件上传似乎上传成功(没有返回错误),但文件已损坏。文件类型可以是任意文件类型,上传文件的文件大小总是大于原始大小。我只是将源 .txt 文件与目标 .txt 进行了比较,目标文件包括
Content-Disposition: form-data; name="file"; filename="final.txt"
Content-Type: text/plain
在 .txt 文件中。基本上,它向目标文件添加了额外的文本。我不确定发生了什么。
我不确定是否需要在 php.ini 或 httpd.conf 中配置此错误。任何帮助,将不胜感激。玛丽
以下是我尝试测试的代码:
<html>
<body>
<?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"];
if (file_exists("/tmp/wangtest/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"/tmp/wangtest/" . $_FILES["file"]["name"]);
echo "Stored in: " . "/tmp/wangtest/" . $_FILES["file"]["name"];
}
}
?>
<form action="upload_file.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>