よくある記事ですが、
①PHPを使ってWEBサイトのキャプチャ取得
↓
②DB保存
↓
③表示
の一連の方法を書きます。
①PHPでキャプチャ取得
WEBブラウザなんかで表示されたページを、
プログラム使ってダイナミックに表示したい
みたいな話しってよくあると思います。
でもframe使いたくなくて、キャプチャ取って
サムネイルで表示したい。。。
という方は、下記APIがオススメです。
「websnapr」
http://www.websnapr.com/
ここで提供されているAPIに、キャプチャを取りたいURLを投げると、
数秒後にサムネイルとして返してくれるというなんとも便利なAPIです。
まあPHPと書いてはみたものの、
全然PHPじゃなくても大丈夫みたいなw
使い方は非常に簡単。
まずサイト上で無料で取得できるdeveloper keyを取得。
そして、下記のようにリクエストを投げてやれば終了です。
②DB保存
まずはMySQLでバイナリデータを保存できるカラムを作りましょう。
ここではmidiumblobで十分でしょう。
そして、先ほど取得した画像データを保存します。
これでDBへの格納は完了です!
③表示
で、表示です。
今回は非常に簡単なサンプルを。。。
このPHPをブラウザから実行してあげれば、
②で格納した画像データがページに表示されます。
簡単ですね。
※ここに書いてあるサンプルソースは適当に書いたので、
動作保証無しです。
何か疑問ある方は、コメント欄にお願いいたします。
①PHPを使ってWEBサイトのキャプチャ取得
↓
②DB保存
↓
③表示
の一連の方法を書きます。
①PHPでキャプチャ取得
WEBブラウザなんかで表示されたページを、
プログラム使ってダイナミックに表示したい
みたいな話しってよくあると思います。
でもframe使いたくなくて、キャプチャ取って
サムネイルで表示したい。。。
という方は、下記APIがオススメです。
「websnapr」
http://www.websnapr.com/
ここで提供されているAPIに、キャプチャを取りたいURLを投げると、
数秒後にサムネイルとして返してくれるというなんとも便利なAPIです。
まあPHPと書いてはみたものの、
全然PHPじゃなくても大丈夫みたいなw
使い方は非常に簡単。
まずサイト上で無料で取得できるdeveloper keyを取得。
そして、下記のようにリクエストを投げてやれば終了です。
<?php
$key = "取得したデベロッパーKEY";
$url = "http://example.com/";
$imgdata = file_get_contents("http://images.websnapr.com/?key=" . $key . "&url=" . $url);
?>
②DB保存
まずはMySQLでバイナリデータを保存できるカラムを作りましょう。
ここではmidiumblobで十分でしょう。
create table tb_thumb(
capture midiumblob
);
そして、先ほど取得した画像データを保存します。
<?php
$key = "取得したデベロッパーKEY";
$url = "http://example.com/";
$imgdata = file_get_contents("http://images.websnapr.com/?key=" . $key . "&url=" . $url);
$query = "insert into tb_thumb (capture) values ('" . addslashes($imgdata) . "')";
mysql_query($query);
?>
※1 本来はmysql_real_escape_stringを使うべきなのでしょうが、
何故かうまく行かない場合があり。。。
※2 DB接続部は省略してます。(mysql_connect)
これでDBへの格納は完了です!
③表示
で、表示です。
今回は非常に簡単なサンプルを。。。
<?php
$sql = "select capture from tb_thumb limit 1";
$result = mysql_query($sql);
while($rs = mysql_fetch_assoc($result)){
$imgdata = $rs['capture'];
}
$size = filesize($imgdata);
header("Content-Length: " . $size);
header("Content-type: image/jpeg");
echo $imgdata;
?>
※DB接続部は省略してあります。(mysql_connect)
このPHPをブラウザから実行してあげれば、
②で格納した画像データがページに表示されます。
簡単ですね。
※ここに書いてあるサンプルソースは適当に書いたので、
動作保証無しです。
何か疑問ある方は、コメント欄にお願いいたします。