问题描述
我正在尝试使用 Flickr API 提取带有“Southampton”标签的照片的图像。 但是,使用我下面的代码,没有任何照片显示...
<?PHP
$tag = 'southampton';
$url = 'https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=APIKEYHERE&tags='.$tag.'&format=json&nojsoncallback=1';
$data = json_decode(file_get_contents($url));
$photos = $data->photos->photo;
foreach ($photos as $photo){
$url = 'http://farm'.$photo->farm.'staticflickr.com/'.$photo->server.'/'.$photo->id.'_'.$photo->secret.'.jpg';
echo '<img src="'.$url.'">'; }}
?>
什么可能导致 flickr 图像不显示?
当我回显 URL 时,我返回无效的 Flickr URL,如下所示:
http://farm66staticflickr.com/65535/50898322013_69261bacb6.jpg 我从上面的代码中遗漏了什么可能导致这种情况?
解决方法
您在服务器场和域(“.staticflickr.com”)之间缺少一个“点”:
$url = 'http://farm'.$photo->farm.'.staticflickr.com/'.$photo->server.'/'.$photo->id.'_'.$photo->secret.'.jpg';
// ^ this dot
会产生
http://farm66.staticflickr.com/65535/50898322013_69261bacb6.jpg