PHP中的CURL + $ GLOBALS [“HTTP_RAW_POST_DATA”]

时间:2010-03-12 15:57:12

标签: php flash facebook curl

我正在使用CURL将文件上传到服务。

目前我正在使用$ GLOBALS [“HTTP_RAW_POST_DATA”]获取文件内容,然后将其保存在我的服务器上。

之后,我正在使用CURLOPT_POSTFIELDS和文件的完整路径。 有没有办法直接发送文件内容,而不将其保存在我的服务器上,就好像我保存了一样?

或者有没有办法将照片从Flash应用程序上传到脸谱相册,而不将其保存在服务器上?

由于

1 个答案:

答案 0 :(得分:0)

如果要上传数据,可以考虑在PHP http://php.net/manual/en/features.file-upload.php中使用文件上传机制。它会自动处理文件上传PHP。

如果您想将上传重定向到另一个(第三方服务)而无需在命令链中(即用户 - >第三方服务器),您可能需要查看AJAX。当您使用PHP /表格上传文件时AFAIK文件将上传到您的PHP临时目录,并且无法阻止此操作,因为:
1.要访问它需要在服务器上的文件(PHP是服务器执行意味着它不能在用户端执行)
2.我不相信任何用户会希望您在他们的计算机上访问他们的文件,也不会这样做(防火墙,AV),如果发生这种情况将是一个重大的安全问题

正如我上面所说,你想要研究的是AJAX(我使用jquery,他们的AJAX方法非常简单)。因为AJAX是用户执行javascript,它可以在机器上运行并启动与任何URL的连接。这样,您可以直接访问服务,而无需将文件提交到服务器。

这是一个例外的AJAX上传(你可以谷歌了解更多): http://valums.com/ajax-upload/

希望这有帮助