【问题标题】:var_dump says bool but returning a string -phpvar_dump 说 bool 但返回一个字符串 -php
【发布时间】:2012-12-06 02:37:48
【问题描述】:

我正在尝试使用 curl 检查我的电子邮件。

我有一个连接到 gmail 的函数:

function check_email($url)
{ 
    // sendRequest 
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
    $curlData = curl_exec($curl);
    curl_close($curl);

    //returning retrieved message
    return $curlData;
}

当我调用函数并回显它 ($email = check_email($ur); echo $email;) 时,gmail 会向我发送一些 html 而不是显示消息:

<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="-very large url-">here</A>.
</BODY>
</HTML>

所以我想提取"-very large url-" 并卷曲到那个位置,但是当我var_dump($email) 它说这是一个布尔值!如果它是布尔值,为什么它会返回 html,我如何通过 php 访问上述 html?

【问题讨论】:

    标签: php html string curl boolean


    【解决方案1】:
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    

    如果您希望 curl_exec() 返回布尔值以外的任何值,则应使用此选项。

    【讨论】:

      【解决方案2】:

      http://php.net/manual/en/function.curl-exec.php

      成功时返回 TRUE,失败时返回 FALSE。但是,如果 设置了 CURLOPT_RETURNTRANSFER 选项,它将返回结果 成功,失败为 FALSE。

      看起来您已将 CURLOPT_RETURNTRANSFER 设置为 0 (false)。

      http://php.net/manual/en/function.curl-setopt.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-05
        • 2016-06-15
        • 1970-01-01
        相关资源
        最近更新 更多