curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

参数值:

  • false: 关闭返回,直接输出内容
  • true: 开启返回,不直接输出内容

开启后使用curl_exec函数或curl_multi_getcontent函数返回网站内容,两个函数的返回区别如下:

  • 使用curl_exec函数
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $ch=curl_init();
    curl_setopt($ch,CURLOPT_URL,'http://www.mostclan.com/');
    curl_setopt($ch,CURLOPT_HEADER,0);
    $a=curl_exec($ch);
    curl_close($ch);
    var_dump($a);
    ?>
执行结果:
* 直接输出了网页内容
* curl_exec函数返回`boolean true`
  • 使用curl_multi_getcontent函数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $ch=curl_init();
    curl_setopt($ch,CURLOPT_URL,'http://www.mostclan.com/');
    curl_setopt($ch,CURLOPT_HEADER,0);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    $a=curl_exec($ch);
    $b=curl_multi_getcontent($ch);
    curl_close($ch);
    var_dump($a);
    var_dump($b);
    ?>
* 设置`CURLOPT_RETURNTRANSFER`为`true`结果:

1
2
3
4
5
6
string '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>最族 - 关注互联网技术的网络工作室</title>
<meta name="keywords" content="最族,最族网络,最族游戏,最族软件,最族工作室,最族网络工作室,最族天下,最族传媒,最族科技,游戏制作,独立游戏开发,Mostclan,Veris,Game'... (length=59109)
1
2
3
4
5
6
string '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>最族 - 关注互联网技术的网络工作室</title>
<meta name="keywords" content="最族,最族网络,最族游戏,最族软件,最族工作室,最族网络工作室,最族天下,最族传媒,最族科技,游戏制作,独立游戏开发,Mostclan,Veris,Game'... (length=59109)
返回了两个网页源代码 * 设置`CURLOPT_RETURNTRANSFER`为`false`结果: * $a 返回 boolean true 并直接输出网页内容 * $b 返回 null

总结:CURLOPT_RETURNTRANSFER值为true时则会终止curl_exec直接输出内容,且将内容已函数返回值的形式返回,可用curl_execcurl_multi_getcontent获取返回值;不同的是当CURLOPT_RETURNTRANSFER值为false时,curl_exec值为布尔值curl_multi_getcontent字符串null值。

CURLOPT_RETURNTRANSFER curl_exec() curl_multi_getcontent()
true 或 1 终止输出页面内容,返回获取的文本流,无内容返回空串,若curl执行失败则返回false 返回获取的文本流,无内容返回null
false 或 0 输出页面内容,返回cURL状态 返回null