出现未知数据

时间:2016-08-02 12:04:40

标签: php curl

我有简单的帖子功能,当我postData时,会出现奇怪的文字(数据) enter image description here 但我不使用任何echo命令,只是不明白为什么会发生。因此,如果我评论postData行,那个文本(数据)就会消失,所以它在postData函数中是100%的问题,但是我没有看到它。

来源

$data = [
    "mode" => "pixel",
    "product_id" => 999,
    "partner_id" => $_COOKIE["suaff"],
    "params" => $_COOKIE["suid"],
    "phone" => $pID,
    "price" => 10,
    "name" => "1"
];
postData("http://somepost.url", $data); // if i comment this, that text(data) disappears
function postData( $url, $data ) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_exec($curl);
    curl_close($curl);
}

1 个答案:

答案 0 :(得分:1)

默认情况下,curl会将响应正文输出到stdout,这就是您在此处遇到的问题。如果您希望curl输出到其他内容,请使用CURLOPT_FILE重定向。如果你想让curl返回正文而不是输出它,请将CURLOPT_RETURNTRANSFER设置为true。如果你想让curl忽略响应数据...曾经有一个CURLOPT_MUTE,但它被删除了,所以...只需将CURLOPT_RETURNTRANSFER设置为1并忽略返回值 - 或者,如果出于性能原因,您需要更快/更少内存密集的内容,打开/dev/null(unix)或nul(窗口)的文件句柄并将其提供给CURLOPT_FILE(如果您'重新下载一个4GB的文件,并使用CURLOPT_RETURNTRANSFER技巧,你的PHP脚本将消耗超过4GB的ram ,但是如果你将它设置为/ dev / null,则大小不会影响ram的使用)