【问题标题】:send file data using PHP HttpRequest使用 PHP HttpRequest 发送文件数据
【发布时间】:2012-04-22 19:53:07
【问题描述】:

我的数据包含在一个变量中(可以写为一个文件),但我希望使用 PHP HttpRequest 将其发送到不同的服务器。

我曾想过使用addRawPostData,但我现在不推荐使用它,我不想将文件写入客户端服务器然后尝试发送它。如果有人有任何想法,请告诉我。我还尝试在普通post 的字段中提交来自变量的原始数据,但它似乎已损坏。

我尝试发送的文件是一个 torrent 文件,如果这有什么不同的话。

再次感谢

【问题讨论】:

标签: php httprequest


【解决方案1】:

您可以使用cURL 这是一个简单的 HTTP POST 示例:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.site.com/url");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"key=value&key1=value1");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);

curl_close ($ch);

// Check response
if ($server_output == "OK") { 

this answer 中有一个使用 cURL POST 文件字符串的示例

【讨论】:

    【解决方案2】:

    使用 HttpRequest 发送文件:http://www.php.net/manual/en/httprequest.addpostfile.php 添加原始帖子数据:http://www.php.net/manual/en/httprequest.addrawpostdata.php - HttpRequest::addRawPostData 未弃用,而 HttpRequest::setRawPostData 已弃用。

    但是,HttpRequest 只是cURL 的包装,在某些情况下,最好直接使用cURL

    【讨论】:

      【解决方案3】:

      使用 setBody 发送 rawpost 数据http://www.php.net/manual/en/httprequest.setbody.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-15
        • 2015-01-03
        • 2016-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多