var_dump казва bool, но връща низ -php

опитвам се да проверя имейла си с 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="/bg-very large url-">here</A>.
</BODY>
</HTML>

така че искам след това да извлека "-very large url-" и да го навия, но когато аз var_dump($email) казва, че е bool! защо връща html, ако е булево и как мога да стигна до гореспоменатия html чрез php?


person I wrestled a bear once.    schedule 06.12.2012    source източник


Отговори (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

person Ben    schedule 06.12.2012

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

Ще се използва, ако искате curl_exec() да върне нещо различно от булево.

person sanmai    schedule 06.12.2012