使用PHP返回HTML图像搜索结果

Ala*_*arr 10 html php api image

我知道如何使用Google API在AJAX中返回图像结果,但我希望能够返回特定查询的图像,然后将其输出到我页面上的HTML中.

例如:

http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=sausages

返回带有关于关键字香肠的前10个结果的信息和图像的结果.

如何使用PHP中的HTML查询此URL以在我的页面上输出图像的图像和标题.

我在函数顶部使用以下命令返回标题:

$tit = get_the_title();
Run Code Online (Sandbox Code Playgroud)

然后我在这里讨论它:

$json = get_url_contents('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q='.$tit.'');
Run Code Online (Sandbox Code Playgroud)

但它不承认标题

ene*_*nen 17

function get_url_contents($url) {
    $crl = curl_init();

    curl_setopt($crl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)');
    curl_setopt($crl, CURLOPT_URL, $url);
    curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($crl, CURLOPT_CONNECTTIMEOUT, 5);

    $ret = curl_exec($crl);
    curl_close($crl);
    return $ret;
}

$json = get_url_contents('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=sausages');

$data = json_decode($json);

foreach ($data->responseData->results as $result) {
    $results[] = array('url' => $result->url, 'alt' => $result->title);
}

print_r($results);
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [0] => Array
        (
            [url] => http://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Salchicha_oaxaque%25C3%25B1a.png/220px-Salchicha_oaxaque%25C3%25B1a.png
            [alt] => Sausage - Wikipedia, the free encyclopedia
        )

    [1] => Array
        (
            [url] => http://upload.wikimedia.org/wikipedia/commons/c/c1/Reunion_sausages_dsc07796.jpg
            [alt] => File:Reunion sausages dsc07796.jpg - Wikimedia Commons
        )

    [2] => Array
        (
            [url] => http://1.bp.blogspot.com/-zDyoLPoM1Zg/ULXDPba_2iI/AAAAAAAAAAs/QzfNNmDFmzc/s1600/shop_sausages.jpg
            [alt] => Maik's Yummy German Sausage
        )

    [3] => Array
        (
            [url] => http://sparseuropeansausage.com/images/sausage-web/sausagesBiggrilling2.jpg
            [alt] => Spar's European Sausage Shop
        )

)
Run Code Online (Sandbox Code Playgroud)

显示图片:

<?php foreach($results as $image): ?>
    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>"/><br/>
<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)

评论后编辑:

$url = 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=' . get_the_title(); 

$json = get_url_contents($url);
Run Code Online (Sandbox Code Playgroud)


小智 8

请注意,Google不再提供此API,并且始终会返回错误代码.