AjaxとjQueryを使ってみた

jQueryAjaxPHPを使ってこんなのをつくってみました。

荒川・入間川・びん沼のブラックバス情報
趣味のブラックバス釣りに良く行く場所の情報をrssで取得して表示するってやつです。


jQueryはメニューの部分にjDrawerを使ってみました。


jDrawerのサンプルをほぼそのまま使用してるので、コードは特にいじっていません。
Javascript数行書くだけででコレだけのものが作れるのは便利。


AjaxPHPに非同期でPOSTさせるのに使用。


PHPrssのデータを取得して表示させるのに。
ソースは前のかぐら・みつまた情報のとほぼ同じ。


JQueryって便利ですね。
色々なサンプルとかプラグインが出てるので、どんどん使っていきたいです。

PHPrssを読み込んでみた。
今まで画像関係ばっかりやって来たので、今度はPHPrssを読み込んで表示してみることに。

rssを処理する方法はいくつかあるみたいですが、今回はPEARXML_RSSを使用してみました。

PEARを使う前にまずは、PRAEのXML_RSSがインストールされているかを確認します。
コマンドラインから pear list で、現在インストールされているpearライブラリの一覧が確認できます。
pear install パッケージ名 でライブラリのインストール。


で、ソースコードの方ですが。まずはXML_RSSの読み込みと、インスタンス生成。
コンストラクタの引数に、読み込みたいRDFファイルを指定します。
そして、rssをパースします。
require_once("XML/RSS.php");
$rss =& new XML_RSS("http://(読み込みたいRDFファイル).xml");
$rss->parse();


後は、取得した値を表示するだけです。
ちなみに、linkだのtitleだのの名称は、そのつど違いますので取得するRDFの中身を確認してください。
foreach ($rss->getItems() as $item) {
 echo 'リンク'.$item['link'];
 echo 'ページタイトル'.$item['title'];
}


ためしに作ってみたのがこれ
かぐらスキー場へよくボードをしに行くので、それように作成。
Yahoo!ブログ検索で「かぐら みつまた スキー場」を検索した結果を表示しています。

Webサイトのサムネイルを表示するAPI
骨折したりなんだりして、最近更新が出来ませんでした。
久しぶりの更新です。


さて、今は色々なWebAPIが有るみたいですね。
そのなかでも、誰でも簡単に使えるのがあったので使ってみました。
SimpleAPIというWebサイトのサムネイルを表示するAPIです。

使い方は簡単。
SimpleAPIのURLの後ろに、サムネイルを表示させたいWebのURLをくっつけるだけです。

http://img.simpleapi.net/small
    ↓
http://img.simpleapi.net/small/http://www.google.co.jp/

するとこんな感じ。

簡単です。
サイトの紹介や、サイトのリンク部分に付けたりするとよさそうです。

PHPでの画像貼り付け
PHPのGDライブラリを見てたらimagecopyっていう関数を見つけました。この関数は、画像に画像を重ね合わせることが出来そうです。

この関数を使えば自分の顔写真をアップロードして、何かの背景にはめ込んだりするようなシステムも作れそうです。ちょい寂れた観光地にある、張りぼてから顔出して記念写真撮るようなアレとかみたいな。

そのうちこういう機能を使って、Webシステムの認証も顔認証とかになるのですかね。
とか書いてみようと思ってググったら、とっくにそういうシステムがありました。
凡人が考えるようなことは、既に誰かが実現していますね。



それと、ゆっくりしていってねジェネレータの画像。自宅の腐ったディスプレイで見てたので気がつかなかったのですが、会社のいいディスプレイでみたら画像が凄く汚いのに気がつきました。
勿論、気がついただけで直す気は全くありませんが。

ゆっくりしていってねジェネレータ

って言うのをさっそく作ってみました。
ゆっくりしていってねジェネレータ

良くある、画像に文字を表示するタイプの奴です。
最近このAAを良く見かけるので使ってみました。

コードはPHPでGDライブラリを使ってます。
昨日のエントリーで書いたコードとほとんど変わりません。




コード書くより、画像作るほうが時間がかかったのは内緒の方向で。

ウェブサービスを作りたい。
いきなりですが、ウェブサービスを作ってみたいのです。

ウェブサービスといっても、入力したメッセージを表示するとかそういう簡単なのからでいいのですが。

とりあえず簡単そうなウェブサービスを調べてみると、脳内メーカーとか、まさに外道ジェネレータとかの、○○ジェネレータってやつでしょうか。
入力した文字に対して処理を行い画像に表示すると流れ。

そこで、PHPの画像処理の方法を調べてみると、GDライブラリというのが有るようです。


早速、GDライブラリを利用して画像に入力した文字を出力させるサンプルを書いてみます。
フォントは独立行政法人の所のを利用しています。

<?php
$txt = $_GET["input"];
$jpeg = "test.jpg";
$image = imagecreatefromjpeg($jpeg);
$black = imagecolorallocate($image, 0,0,0);
$txt = mb_convert_encoding($txt,"UTF-8","auto");
ImageTTFText ($image, 10, 0, 100, 42, $black, "ipag.ttf",$txt);
header("Content-type: image/jpeg");
imagejpeg($image);
imagecolordeallocate($image,$bcolor);
imagedestroy($image);
?>

実行してみると、見事に画像が表示されました。

次に、このPHPソースをHTML内に書き込み、画像を出力しようとしたところ問題が発生。
どうやらPHPとHTMLのヘッダーの指定か何かで、PHPで生成したjpgeがバイナリで出力されてしまっている模様。

そこでまた調べてみると、PHPで一度画像を作りそれをimgタグで読み込む方法と、imgタグのsrcでPHPコードを読み込む方法の2パターンを発見。



まずは、PHPで一度画像を作ってから読み込む方法を。
imagejpeg($image,"test.jpg");の第二引数に、作るファイル名を追加。
このとき、作られた画像がおかれるディレクトリの権限を、PHPが書き込みできるようにしないと怒られていまいます。
そして、実行してみるとHTML内部に画像が表示出来ましたが、画像のキャッシュが残ってしまうのか、連続で同じ文字の画像が表示されることがあります。


そこで2つ目のimgタグのsrcにPHPソースコードを指定するパターン。
この方法なら画像ファイルを保存しないので、キャッシュの問題はクリアできそうです。
<img src="imagemake.php?input=<?php echo $_GET['input']; ?>" >
こんな感じに入力した文字をGET変数を渡して読み込みます。
実行してみると、今度は成功。
毎回入力した文字の画像が表示されます。


これで早くも○○ジェネレータのようなものが出来ました。
どこかPHPが動くサーバーを借りてみて、ウェブにアップしてみたいと思います。

とりあえず自己紹介。
こんにちはsuroisuです。
このたび、はてなダイアリーとかをはじめてみました。

いま、PHPでちょこちょこプログラムとかを作ってるので、それのメモやら備忘録代わりに色々と書いて行こうと思います。