【发布时间】:2015-03-03 03:37:28
【问题描述】:
我有一个服务器,其目录中装满了书籍。我编写了一个脚本,该脚本循环遍历该目录并列出了位于其中的所有 PDF。然后我更进一步,开始搜索谷歌书籍并带回这些书籍的图片和描述。对于某些书籍,这非常有效,但对于其中很多书籍,我得到了这个错误......
警告:reset() 期望参数 1 为数组,在 bookDescriber.php 第 49 行给出 null
这是给出此错误的代码(这都在一个大的 foreach 中,它列出了目录中的所有 PDF)。这段代码的最后一行是第 49 行。
//search GoogleBooks for a description
$item = file_get_contents("https://www.googleapis.com/books/v1/volumes?q=$v&maxResults=1");
$item = json_decode($item);
$item = reset($item->items);
上面 url 中的 $v 只是书的文件名,所以这是它会生成的链接之一,你可以看到它确实返回信息......(如果你一直复制整个链接到 maxResults=1 则返回数据,是不是有时 URL 中的空格无关紧要,有时它们呢?我迷路了)
https://www.googleapis.com/books/v1/volumes?q=Ajax权威指南.pdf&maxResults=1
那么为什么我的 reset() 中的第一个参数设置为 null ???请帮忙!!
【问题讨论】:
-
尝试
var_dump($item)和var_dump($item->items)并显示输出。而对于空格,为什么不事先尝试用+替换它们呢?