在 PHP 中使用 Flickr API 拉取图像

问题描述

我正在尝试使用 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...