如何处理函数的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;
}
答案 0 :(得分:0)
一个可能的途径是添加:
$headers = curl_getinfo($ch);
然后
if($headers['http_code'] < 400){
$data = "whatever you need it to be...";
等。你可以根据需要扩展300(重定向)。