我正在研究使用Google Books API的方法。 使用此代码具有预期的结果。
$page = file_get_contents("https://www.googleapis.com/books/v1/volumes?q=julio+verne&maxResults=40");
$data = json_decode($page, true);
for($a = 0 ; $a <= 39 ; $a++) {
$img = $data['items'][$a]['volumeInfo']['imageLinks']['thumbnail'];
print '<img src="'.$img.'" alt="ScanLine"/>';
echo '<br>';
echo "Title = " . $data['items'][$a]['volumeInfo']['title'];
echo '<br>';
echo "Authors = " . @implode(",", $data['items'][$a]['volumeInfo']['authors']);
echo '<br>';
echo "Editora = " . $data['items'][$a]['volumeInfo']['publisher'];
echo '<br>';
echo "id = " . $data['items'][$a]['id'];
echo '<br>';
echo "Resumo = ";
echo "<p>" . $data['items'][$a]['volumeInfo']['description'];
echo '</p><br>';
}
另一方面,从代码实现和使用代码不起作用。 我的带有表单的页面包含以下代码:
<form action="action.php" method="POST">
<div class="form-group">
<div class="campos">
<label>
Search
</label>
<input type="text" name="search" style="margin-right: 10px; width:250px; float:left" class="input-field" placeholder="Title, Author..." />
<input type=hidden name=numResults value="&maxResults=40">
<button type="submit" id="search" class="btn btn-default">Search</button>
</div>
</div>
</form>
我的行动有这段代码:
$var1 = "https://www.googleapis.com/books/v1/volumes?q=";
$var2 = urlencode($_POST['search']);
$var3 = "&maxResults=40";
$str = str_replace(" ", "+", $var2);
$page = $var1.$str.$var3;
$data = json_decode($page, true);
echo $page;
echo '<br>';
for($a = 0 ; $a <= 39 ; $a++) {
$img = $data['items'][$a]['volumeInfo']['imageLinks']['thumbnail'];
print '<img src="'.$img.'" alt="ScanLine"/>';
echo '<br>';
echo "Title = " . $data['items'][$a]['volumeInfo']['title'];
echo '<br>';
echo "Authors = " . @implode(",", $data['items'][$a]['volumeInfo']['authors']);
echo '<br>';
echo "Editora = " . $data['items'][$a]['volumeInfo']['publisher'];
echo '<br>';
echo "Resumo = ";
echo "<p>" . $data['items'][$a]['volumeInfo']['description'];
echo '</p><br>';
}
什么一定是错的? 有什么建议吗? 感谢巴西
答案 0 :(得分:1)
在第二个示例中,您没有调用file_get_contents()
。所以$page
只是网址。
$page = file_get_contents($var1.$str.$var3);