使用theMovieDB用PHP显示图像海报

我刚开始使用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'] . "'/>");

就是这样.

相关文章

文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Onl...
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在...
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代...
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔...
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了...
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安...