我使用Codeigniter建立了一个本地DVD数据库,有电影名称等。我要做的是从this IMDB API加载更多的电影数据。
但是我收到以下错误:
遇到PHP错误
严重性:警告
消息:file_get_contents(http://www.imdbapi.com/?i=&t=2 Fast 2 Furious)[function.file-get-contents]:无法打开流:HTTP请求失败! HTTP / 1.1 400错误请求
文件名:controllers / dvd.php
行号:92
将this URI复制到地址栏会返回json数据,但是当我在页面中加载时,它会给我发错误。
值得注意的是,我在这个特定网站的本地主机上运行。因为我只是熟悉Codeigniter。
我的代码是......
// Send Query To IMDB Api
$film_q = $film_name[0]->title;
$imdb_uri = "http://www.imdbapi.com/?i=&t=$film_q";
$json = file_get_contents($imdb_uri);
$json = json_decode($json);
print_r($json);
编辑:进一步研究。单字电影名称好像加载好,所以我假设我需要在空格中向下钻一个“+”?
答案 0 :(得分:6)
尝试urlencode()
:
$film_q = urlencode($film_name[0]->title);
$imdb_uri = "http://www.imdbapi.com/?i=&t=$film_q";
答案 1 :(得分:1)
您可以考虑在电影标题上运行urlencode()。 “2 Fast 2 Furious”中的空间可能会被遗忘。
您的链接应如下所示。
http://www.imdbapi.com/?i=&t=2%20Fast%202%20Furious
不是这个。
http://www.imdbapi.com/?i=&t=2 Fast 2 Furious