上传后文件已损坏

时间:2014-10-08 00:12:24

标签: php file-upload

我有一个非常简单的上传脚本,我正在localhost开发环境中玩。表单接受一个文件并将其发布到保存文件的接收脚本。基本上是您的股票标准PHP文件上传表单。


uploader.php

<!doctype html>
<html>
    <head>
        <title>File upload test</title>
    </head>
    <body>
        <form action="upload_receiver.php" method="POST" enctype="multipart/form-data">
            <input name="upload_file" type="file"/>
            <input name="upload_submit" type="submit"/>
        </form>
        <script>

        </script>
    </body>
</html>

upload_receiver.php

<?php

$upload_dir = "uploads/";

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    if (move_uploaded_file($_FILES['upload_file']['tmp_name'], $upload_dir . basename($_FILES['upload_file']['name'])))
    {
        echo 'success';
    }
}

问题是,我尝试“上传”的每个文件都到达我的“uploads”文件夹,好像它们可能处于损坏状态并且将不再打开。我甚至无法在Notepad ++中打开它们来查看文件的内容,Notepad ++会抛出一个错误:“访问被拒绝。”

之前有没有遇到过这个?任何想法为什么会发生这种情况,以及我如何纠正它?

  • 操作系统:Windows
  • Web服务器: Apache
  • PHP版本: PHP 5.5.6

编辑以澄清评论中提出的一些问题:

我猜测文件已损坏,因为我可以完全访问他们上传到的文件夹,我可以在那里看到文件,但如果我点击图片,我可以'请参阅预览缩略图。

确实问题可能不是腐败,我已经重新提出问题,说他们似乎被破坏了。

我确实在提交后看到“成功”,并且Apache日志中没有错误。

max_upload_size是500M。 post_max_size是500M。


再次编辑:

在比较了我公司提供的MD5哈希值之后,我确定文件很好(它们没有被破坏)。这是一个访问问题。我可以使用这个问题解决这个问题:Change permissions of file uploaded by PHP

感谢所有为此提供帮助的评论者。

0 个答案:

没有答案