PHP: 2005年7月アーカイブ

Ajax なチャット

| | コメント(2)

Ajax の習作、RO風のチャット。
ajaxchat.png

サンプルは こちら。ソースコードは こちら
自由に使いねい。エラーが出たら教えてくれい。
動作確認 (Win32) Internet Explorer 5.5/6.0 Netscape 7.1 Firefox 1.0.4 Opera 8.01

従来のチャットと何が違うのか?
画面偏移がない
湖に浮かぶ白鳥が泳ぐように、見えない場所でがんばるのが Ajax の役目。

Ajax はクライアントとサーバーの関係を変える物ではない?
クライアントの要求を細かく処理していく。待たせない。

なんとなくかっこいい?
空賊連合よりはかっこいい。豚も言っている。

将来性は?
タダで作れるところがポイント。お金があるなら Flash 等のリッチクライアントを使用すべし。

Unicode

| | コメント(0)

PHP でソースのエンコード方式に Unicode を指定する時は、BOM(Byte Order Mark) の存在に気をつけなくてはならない。

BOM は文字通り、バイトオーダーを示す物。姓名で苗字が先に来る東洋式と名前が先に来る西洋式の姓名があるように、バイトの並び順も一つではない。これを判定するのが BOM の役目だ。またもう一つの役目に、文章のエンコード方式を自動判定する際の目安になるというのがある。

前者の役目は非常に重要だが、後者のみを目的とした利用については時として弊害をもたらす。アプリケーションが BOM に対応していないと、BOM も文章の一部として扱われゴミとなってしまう。自動判定についても、HTML や XML 等の文章で利用したい場合はファイル形式固有のエンコード方式明示を利用したり、HTTP レスポンス ヘッダで Unicode であると示すなり、色々方法がある。BOM に頼るのは最後にしたい。

Web アプリケーションなどで Explorer ライクにディレクトリを選択できると、ものすごく使いやすい、と思うのだ。全てを展開して表示させると取得に時間が掛かるだの、サブ ディレクトリが一杯あると表示欄がえらい事になるだの、あまり嬉しくない。

そこで以下のような サンプル を作ってみた。
list.png

やり方は非常に簡単で、セッション変数に展開済みのパスを保存し、ルート ディレクトリから順に展開済みのディレクトリがなくなるまで嘗め回してやるだけ。本来こういう UI については、Ajax でやると非常にクールでかっこよいのだが…。

このアーカイブについて

このページには、2005年7月以降に書かれたブログ記事のうちPHPカテゴリに属しているものが含まれています。

次のアーカイブはPHP: 2005年11月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.12