使用php curl从客户端上传文件到服务器?

时间:2012-12-13 11:13:41

标签: php file curl upload

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

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

有没有办法解决这个问题?还有其他方法可以从浏览器上传文件吗?因为我想使用openID身份验证然后将上传者电子邮件保存在MySQL数据库中,所以能够用PHP完成它是理想的。非常感谢提前。

1 个答案:

答案 0 :(得分:0)

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

  1. 您需要配置路由器,以便将传入连接重定向到您的PC
  2. 您需要配置防火墙,以便传入连接
  3. 您需要安装一个可以接受和提供文件请求的软件(Web服务器,FTP服务器,NFS服务器......)
  4. 您需要指示此类软件您要分享的精确文件(您不希望您的整个硬盘驱动器向全世界开放)。
  5. 您可能希望限制谁有权访问您的文件:用户名+密码,证书,IP地址过滤器......
  6. 如果您想在没有用户干预的情况下上传文件,则用户需要在其计算机中安装提供该功能的程序:我提到过的一个程序或自定义程序。使用准系统标准Web浏览器无法做到这一点。

    您对客户端 Python脚本说了些什么。不确定Python上下文中客户端的含义,但Python最终能够打开HTTP连接并发送文件。按照那条轨道。