Narutyo Net System Developer's BLOG
カレンダー

- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 - - - - - -

最近の日記

PHPでFlashグラフを出力する方法
MySQLでトランザクションを使う方法
メール受信時のパイプ処理
キャッシュの削除
ThickBox
GDを用いたサムネイル画像の作成方法
MySQLならではのINSERTクエリ
携帯コンテンツでセッションを使う方法
PHPでPOSTさせる方法(CURL編)
PHPでPOSTさせる方法(fsockopen編)

カテゴリ

PHP(10)
PostgreSQL(2)
MySQL(5)
MS SQL(1)
JpGraph(1)
便利ライブラリ(2)

最近のトラックバック


過去ログ(21)

2007年2月(12)
2007年1月(1)
2006年4月(1)
2006年3月(4)
2005年12月(2)
2005年11月(1)

検索


管理ログイン




PHPでFlashグラフを出力する方法

JpGraphでグラフ画像を出力する方法はもはや一般的ですが、Flashのグラフを出力する便利なものが最近出回ってます。

PHP/SWF Charts
http://www.maani.us/charts/index.php

フリー版にはいくつかの制限がありますが、アクセス解析程度のグラフを出力するだけなら十分。
ライセンスもドメイン単位のシングルライセンスなら45ドルと安価。
英語表記とはいえ、サイトに丁寧な組み込み方が説明されているのはいいですね。

2007年02月19日(月) 12:55:26 [便利ライブラリ]・[コメント:1]・[トラックバック:202]



MySQLでトランザクションを使う方法

私がMySQLを触り始めた6年ほど前トランザクションなんてものは実装されていませんでしたが、MySQL4からは対応しているようです。
ただ、デフォルトがAUTO_COMMITで、普通にテーブルを作成したところでトランザクションを使うことはできません。
テーブル作成時、TYPE=InnoDBをつける必要があります。
# create table TABLE_NAME(FIELD varchar(255))TYPE=InnoDB;
のような感じです。

これでSTART TRANSACTION、もしくはBEGINでトランザクションブロックを開始すればROLLBACK、COMMITが使えます。
逆に、この状態でトランザクションを開始せずINSERT、UPDATEなどのクエリを送信すれば自動的にCOMMITされます。

もしAUTO_COMMITを完全に停止させたい場合は
「AUTO_COMMIT=0」を送信すればOKです。
PHPからの操作であれば
<?php
mysql_query("AUTO_COMMIT=0");
?>
となります。

2007年02月15日(木) 17:53:31 [MySQL]・[コメント:0]・[トラックバック:18853]



メール受信時のパイプ処理

メール受信時にパイプさせてスクリプトを起動する場合、送信されてきたメールの内容を取得する場合にはstdinを使います。

知っていればすごく簡単。
<?php
$stdin = fopen("php://stdin", "r");
while (!feof ($stdin)) {
$data .= fgets($stdin);
}
?>
で$data変数にヘッダや本文、添付ファイルのバイナリなど、すべてが取得できます。
あとはメールをうまく分析してやればOKです。

2007年02月14日(水) 11:40:09 [PHP]・[コメント:0]・[トラックバック:20075]