【问题标题】:HTML Upload Form will only upload files found in the directory of the PHP fileHTML 上传表单只会上传 PHP 文件所在目录中的文件
【发布时间】:2011-02-07 04:47:40
【问题描述】:

我有一个图片上传器,它使用imgur.com API 和 jQuery 的 .ajax() 函数将图片上传到他们的服务器。但是,如果我使用表单的<input type="file"/> 元素浏览图像,则只有在与page.php 文件位于 same 目录中找到图像文件时,才能成功上传图像该表格位于(如下所示)。 如何允许表单从我计算机上的任何目录上传图片?

page.php:

<form action="page.php" method="post">
    <input type="file" name="doc" id="doc" /><br/>
    <input type="image" src="go.gif" name="submit" id="submit" />
</form>

【问题讨论】:

    标签: php jquery forms upload imgur


    【解决方案1】:

    您已经忘记了form 标签上的enctype="multipart/form-data" 属性。没有它,文件上传通常不会很好。

    除此之外,服务器不会真正关心您从哪个目录上传,尤其是在 PHP 下。上传到服务器的副本以临时文件名($_FILES['file']['tmp_name'])存储,与您计算机上的目录/文件名完全无关。

    一旦它在服务器上,您必须将该临时文件实际移动到其他地方,因为一旦脚本终止并且您自己没有处理它,PHP 会自动删除它。 move_uploaded_file() 是通常用于执行该过程的内容。

    【讨论】:

      【解决方案2】:

      我猜是 jquery 正在向http://imgur.com/api/upload 进行实际发布,因为表单只是向自身发布,所以我的猜测是 jquery / javascript 只能读取您的网络空间中的文件,而不是您的整个硬盘-驱动器。

      【讨论】:

        【解决方案3】:

        也许这是唯一具有写入权限的文件夹。

        【讨论】:

        • 我在本地使用 XAMPP 进行这一切,所以我怀疑这会是个问题。
        • 您要么没有发布正确的代码,要么您的计算机有问题。该代码运行良好,事实上,我只是在我的计算机上对其进行了测试,并且能够从不同的目录上传文件。请按照@Adnan 的建议显示您的屏幕截图
        猜你喜欢
        • 2016-05-01
        • 2010-12-05
        • 1970-01-01
        • 2012-09-23
        • 1970-01-01
        • 2023-02-06
        • 1970-01-01
        • 1970-01-01
        • 2014-11-10
        相关资源
        最近更新 更多