我有简单的帖子功能,当我postData时,会出现奇怪的文字(数据) 但我不使用任何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);
}
答案 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的使用)