这节我们来实现一个在线图片搜索的小功能,听起来是不是很高大上呢?当然并非我们要实现一个图片搜索引擎,而是要站在巨人的肩膀上,借助API实现。我们的目的呢,当然是学习PHP开发啦!
首先创建html页面,页面简单的实现输入和提交搜索功能:
index.html代码如下:
图片搜索文本搜图
文本搜图:
数据post到search.php接口,因此需要实现search.php:
$ch = curl_init();
$searchText = $_POST['content'];
$url = 'http://apis.baidu.com/image_search/search/search?word='.urlencode($searchText).'&pn=0&rn=1&ie=utf-8';
var_dump($url);
$header = array(
'apikey: 你的apikey',
);
//添加apikey到header
curl_setopt($ch, CURLOPT_HTTPHEADER , $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//执行HTTP请求
curl_setopt($ch , CURLOPT_URL , $url);
$res = curl_exec($ch);
$result = json_decode($res)->data->ResultArray;
var_dump($result);
$url = $result[0]->ObjUrl;
var_dump($url);
//浏览器跳转到图片网址
$redirect = "Location: ".$url;
header($redirect);
?>
这里图片搜索我们调用了文本搜图API,参见百度API stroe:http://apistore.baidu.com/apiworks/servicedetail/1557.html
是一个免费的API,但有调用次数限制。我们只需要申请apikey填入上面的代码就可以正常使用了。
演示一下:
点击搜索,看看我大武汉!