pixtabay urlをUNIQUEで、テーブルをつくります。
CREATE TABLE img.pixtabay ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, pixtaurl VARCHAR(255) UNIQUE, imgurl VARCHAR(60), tags VARCHAR(255) );
続いて、apiから、画像を取得し、dbに画像のパス・タグを入れます。
$stmt = $dbh -> prepare("INSERT IGNORE INTO pixtabay (pixtaurl, imgurl, tags) VALUES(:pixtaurl, :imgurl, :tags)");
$date = date("Ymt");
$i=0;
foreach($url as $value){
$data = file_get_contents($value);
$pass = "img/" .$date. "-" . $i . ".jpeg";
$stmt->bindParam(':pixtaurl', $url[$i], PDO::PARAM_STR);
$stmt->bindParam(':imgurl', $pass, PDO::PARAM_STR);
$stmt->bindParam(':tags', $tags[$i], PDO::PARAM_STR);
$stmt->execute();
file_put_contents($pass, $data);
$i++;
}
?>
検索クエリに一致するタグがある画像パスをDBから取得して表示
$query = "アップル";
while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
if(strpos($result["tags"], $query) !== false){
$url[] = $result["imgurl"];
}
}
echo "タグに". $query. "を含む画像<br>";
// var_dump($url);
foreach($url as $value){
echo "<img src=\"" .$value. "\" width=\"200\" height=\"120\" >";
}
?>

ぎゃーーーー
