1

我正在尝试从客户端脚本自动上传文件,该脚本在我的服务器中打开一个 PHP 页面,将本地路径作为GET参数发送。这是一个简单的python脚本。我的问题是,我不能只填写输入类型文件的值并自动发布表单,因为出于安全原因,这不起作用。

所以,我想到了使用 Curl,但后来我意识到......我无法访问$_FILES['myfile']['tmp_name']我的服务器中的 a 因为这只是用 a 发布的multipart/form-data form,对吗?

有办法解决这个问题吗?有没有其他方法可以从浏览器上传文件?因为我想使用 openID 身份验证,然后将上传者的电子邮件保存在 MySQL 数据库中,所以最好能够使用 PHP 来做到这一点。提前谢谢了。

4

1 回答 1

0

我认为您还没有真正理解为什么 curl 不是一个可行的解决方案。默认情况下,您的个人计算机文件不会暴露在外部。而不是这样,如果你想共享你的硬盘,你需要安装和配置很多东西:

  1. 您需要配置路由器,以便将传入连接重定向到您的 PC
  2. 您需要配置防火墙,以便让传入的连接通过
  3. 您需要安装一个可以接受和提供文件请求的软件(Web 服务器、FTP 服务器、NFS 服务器......)
  4. 您需要指示此类软件要共享哪些精确文件(您不希望整个硬盘驱动器向世界开放)
  5. 您可能想要限制谁可以访问您的文件:用户名 + 密码、证书、IP 地址过滤器...

如果您想在没有用户干预的情况下上传文件,用户需要在他的计算机上安装一个提供该功能的程序:我提到的那些程序之一或自定义程序。使用准系统标准网络浏览器无法做到这一点。

你说了一些关于客户端Python 脚本的事情。不确定 Python 上下文中客户端的含义,但 Python 绝对能够打开 HTTP 连接并发送文件。跟随那条轨道。

于 2012-12-13T11:33:19.910 回答