我不明白
之间有什么区别CURLOPT_RETURNTRANSFER AND
CURLOPT_BINARYTRANSFER
我写了一个脚本来检查它
<?php
$image_url = "http://localhost/curl/img1.png";
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $image_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
$image = curl_exec($ch);
curl_close($ch);
header("Content-type: image/jpeg");
print $image;
?>
在这种情况下,我得到浏览器中显示的图像 如果我删除该行
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
我仍然可以在浏览器中显示图像。
现在,如果我删除该行
header("Content-type: image/jpeg");
然后iget二进制数据显示在浏览器中(看起来像垃圾)两种情况下我是否删除
curl_setopt($ ch,CURLOPT_BINARYTRANSFER,1);
或者我不删除。
那么这个选项CURLOPT_BINARYTRANSFER
会有什么不同?
答案 0 :(得分:8)
如果我正确理解这个PHP错误报告和解决方案,看起来PHP不再使用CURLOPT_BINARYTRANSFER了。
答案 1 :(得分:3)
通过这种卷曲,我们正在寻找两个转移:
通过删除header("Content-type: image/jpeg");
,您拒绝浏览器了解应如何解释后续内容的线索。这与影响第一次转移的CURLOPT_BINARYTRANSFER
无关。