8

我已经使用 Codeigniter 构建了一个本地 DVD 数据库,其中包含电影名称等。我要做的是从这个 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 错误请求

文件名:控制器/dvd.php

行号:92

将此 URI复制到地址栏中会返回 json 数据,但是在我的页面中加载时,它会给我这个错误。

值得注意的是,我在 localhost 这个特定站点上运行。因为我只是熟悉 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);

编辑:进一步研究这个。单字电影名称似乎可以正常加载,所以我假设我需要以某种方式在空格中钻取“+”?

4

2 回答 2

14

尝试urlencode()

 $film_q   = urlencode($film_name[0]->title);
 $imdb_uri = "http://www.imdbapi.com/?i=&t=$film_q";
于 2012-06-16T17:18:31.967 回答
2

您可以考虑在电影标题上运行 urlencode()。“2 F​​ast 2 Furious”中的空格可能被留下了。

您的链接应如下所示。

http://www.imdbapi.com/?i=&t=2%20Fast%202%20Furious

不是这个。

http://www.imdbapi.com/?i=&t=2 Fast 2 Furious
于 2012-06-16T17:22:41.170 回答