php函数的错误处理

时间:2016-09-17 19:17:04

标签: php curl

如何处理函数的NULL返回?

以下代码是一个基本的卷曲功能。我发现有时$ url将为NULL,例如,如果某个网站由于某种原因而离线或者用户输入了错误的网址。在这些情况下,我收到错误"调用null上的成员函数"

如何返回空结果而不是null结果并阻止用户看到此错误?

function file_get_contents_curl($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    $data = curl_exec($ch);

    curl_close($ch);

    return $data;
}

1 个答案:

答案 0 :(得分:0)

一个可能的途径是添加:

$headers = curl_getinfo($ch);

然后

if($headers['http_code'] < 400){
   $data = "whatever you need it to be...";

等。你可以根据需要扩展300(重定向)。