gpt4 book ai didi

php - 使用 theMovieDB 通过 PHP 显示图像海报

转载 作者:可可西里 更新时间:2023-11-01 12:36:22 25 4
gpt4 key购买 nike

我刚开始使用 themoviedb JSON api,目前我正在尝试做一些看似简单的事情:显示电影的主要海报。我有一个 API key ,这是我正在使用的代码/响应。

$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, CURLOPT_URL, "http://api.themoviedb.org/3/search/movie?query=Monsters+University&api_key=MYAPIKEY");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, 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'] . "'/>");

如有任何帮助,我们将不胜感激!

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

最佳答案

看来您需要对 /3/configuration 执行额外请求才能获得一些额外信息。

您要查找的参数是 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'] . "'/>");

就是这样。

关于php - 使用 theMovieDB 通过 PHP 显示图像海报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18280194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com