我使用Codeigniter建立了一个本地DVD数据库,其中包含电影名称等。我想做的是从这个IMDB API加载更多电影数据。
但是我收到以下错误:
遇到 PHP 错误
严重性:警告
消息:file_get_contents(http://www.imdbapi.com/?i=&t=2 速度与激情)[函数.文件获取内容]:无法打开流:HTTP 请求失败!HTTP/1.1 400 错误请求
文件名:控制器/DVD.php
行号:92
将此 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);
编辑:进一步研究这一点。单个单词的电影名称似乎加载正常,所以我假设我需要以某种方式将"+"向下钻取到空格中?
尝试urlencode()
:
$film_q = urlencode($film_name[0]->title);
$imdb_uri = "http://www.imdbapi.com/?i=&t=$film_q";
你可以考虑在电影标题上运行urlencode()。《速度与激情2》中的空间有可能被留下了。
您的链接应如下所示。
http://www.imdbapi.com/?i=&t=2%20Fast%202%20Furious
不是这个。
http://www.imdbapi.com/?i=&t=2 Fast 2 Furious