0

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

页面.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>
4

3 回答 3

2

一方面,您忘记了标签enctype="multipart/form-data"上的属性。form没有它,文件上传通常不能很好地工作。

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

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

于 2010-04-12T21:21:33.967 回答
0

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

于 2010-04-12T21:05:34.210 回答
0

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

于 2010-04-12T21:20:40.020 回答