Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php FlickrAPI有时返回false,但通常是有效的,为什么?_Php_Flickr - Fatal编程技术网

Php FlickrAPI有时返回false,但通常是有效的,为什么?

Php FlickrAPI有时返回false,但通常是有效的,为什么?,php,flickr,Php,Flickr,我正在用PHP构建这个URL,并用CURL从Flickr获得结果 http://api.flickr.com/services/rest?api_key=APIKEY&format=php_serial&method=flickr.photosets.getPhotos&photoset_id=72157594403088940&per_page=200&extras=description,url_l,url_c,url_z,url_m,url_n,url_s,url_t 当然,这里有一个真正

我正在用PHP构建这个URL,并用CURL从Flickr获得结果

http://api.flickr.com/services/rest?api_key=APIKEY&format=php_serial&method=flickr.photosets.getPhotos&photoset_id=72157594403088940&per_page=200&extras=description,url_l,url_c,url_z,url_m,url_n,url_s,url_t

当然,这里有一个真正的API密钥。无论如何,它有时返回bool(false),有时返回正确的图像列表。通常情况下,它就像给定日期的第一次检查返回false,然后在刷新后正确地获取列表。我的旋度函数用于获得结果:

function file_get_contents_curl($url, $curlopt = array()){      
        if(in_array('curl', get_loaded_extensions())){
            $ch = curl_init();
            $default_curlopt = array(
            CURLOPT_TIMEOUT => 2,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_FOLLOWLOCATION => false,
            CURLOPT_USERAGENT => "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 AlexaToolbar/alxf-1.54 Firefox/3.6.13 GTB7.1"
            );
            $curlopt = array(CURLOPT_URL => $url) + $curlopt + $default_curlopt;
            curl_setopt_array($ch, $curlopt);
            $response = curl_exec($ch);
            if($response === false)
            trigger_error(curl_error($ch));
            curl_close($ch);
            return $response;
        }else{
            return file_get_contents($url);
        }
    }

这是什么?为什么会发生?可能与我的CURL函数有关(我的最佳选择)?

您已将
CURLOPT\u超时设置为2秒。您能否验证代码是否在执行完成之前超时。如果是这样,试着增加一点,看看它是否有效


只是一个猜测。

我只能用一个PHP微时间计时器来验证,一个调用花费了3.3秒,现在当我将其设置为10时,它会显示出来。当我将其设置为1时,更多的呼叫失败,尤其是包含200张照片的照片集。