加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用theMovieDB用PHP显示图像海报

发布时间:2020-12-13 13:18:42 所属栏目:PHP教程 来源:网络整理
导读:我刚开始使用theoviedb JSON api,而我正在尝试做一些看似简单的事情:显示电影的主要海报.我有一个API密钥,这是我正在使用的代码/响应. $ca = curl_init();curl_setopt($ca,CURLOPT_URL,"http://api.themoviedb.org/3/configuration?api_key=MYAPIKEY");curl
我刚开始使用theoviedb JSON api,而我正在尝试做一些看似简单的事情:显示电影的主要海报.我有一个API密钥,这是我正在使用的代码/响应.
$ca = curl_init();
curl_setopt($ca,CURLOPT_URL,"http://api.themoviedb.org/3/configuration?api_key=MYAPIKEY");
curl_setopt($ca,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ca,CURLOPT_HEADER,FALSE);
curl_setopt($ca,CURLOPT_HTTPHEADER,array("Accept: application/json"));
$response = curl_exec($ca);
curl_close($ca);
//var_dump($response);
$config = json_decode($response,true);
//print_r($config);
//$base = $config['base_url'];
//echo($base);

$ch = curl_init();
curl_setopt($ch,"http://api.themoviedb.org/3/search/movie?query=Monsters+University&api_key=MYAPIKEY");
curl_setopt($ch,TRUE);
curl_setopt($ch,FALSE);
curl_setopt($ch,array("Accept: application/json"));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response,true);
//print_r($result);
//var_dump($response);
echo("<img src='" . $config[0]['base_url'] . $config[0]['poster_sizes'][2] . $result[0]['poster_path'] . "'/>");

我现在唯一的问题是我正在尝试回显一个标签来显示海报,但我不确定正确的代码会是什么样的呢?

$responsePHP = json_decode($response);
echo("<img src='" . $responsePHP['poster_path'] . "'/>");

任何帮助,将不胜感激!

编辑:添加了配置数组,但回显没有任何内容.打印出精简版和print_r的JSON似乎与json_decode一起使用,我只是不知道为什么我不能从数组中提取任何值

看来你需要对/ 3 /配置做一个额外的请求才能得到一些额外的信息.

您要查找的参数是base_url,您可以使用它来构建URL.

在这里阅读更多:http://docs.themoviedb.apiary.io/#get-%2F3%2Fconfiguration

您可能想知道为什么需要这样做.根据他们的网站,他们这样做,所以他们可以保持他们的API轻,似乎base_url很少改变(更多)见https://www.themoviedb.org/talk/515a72d0760ee3615a0b5256

所以,你可以每X次只做一次这个请求(例如每天一次),然后使用base_url我可能需要做的所有后续请求中都会到达那里.

编辑:叹息,我认为你只有没有base_url的问题,而不是从json获取数据.

无论如何,只需将最后一行替换为:

echo("<img src='" . $config['images']['base_url'] . $config['images']['poster_sizes'][2] . $result['results'][0]['poster_path'] . "'/>");

就是这样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读