PHP
MacBook に開発環境を入れる
1Apache + MySQL + PHP を MacPorts で入れてみました。
Apache のインストール
$ sudo port install apache2
しかし、sqlite3 のインストールでエラーになってしまう。
下記を参考に一度 sqlite3 を削除して入れなおしたらうまくいきました。
Mac Ports で Apache2 のインストールエラー – Get crazy
$ sudo port clean --all sqlite3
$ sudo port install sqlite3
Firebug に PHP のログを表示する
1下記サイトを参考にやってみました。
cl.pocari.org – PEAR Log を使って Firebug にログを出力する
FirebugでPHPをデバッグするツールまとめ : アシアルブログ
試したのは PEAR::Log を使用する方法です。
(続きを読む…)
PHP5 マジックメソッド
3PHP5 のマジックメソッドに関して調べたメモ
マジックメソッドとは
PHP5 でクラスを作成すると自動的に作成されているメソッドのこと。PHPマニュアルによると
PHP クラスにおける特殊関数の名前です。 これらの関数に関連する特別な機能を使用する場合を除き、 クラス内にこれらの名前を有する関数を作成してはいけません。
と説明されています。
getter や setter にあたるのがマジックメソッドの __get, __set です。
(続きを読む…)
PHP で「全角ひらがな」や「全角カタカナ」かチェックする
3フォームのフリガナなどで全てひらがなのみ、またはカタカナのみかをチェックする方法です。
mb_ereg で判定する場合
mb_regex_encoding("UTF-8"); if (!mb_ereg("^[ぁ-ん]+$", $string)) { echo "ひらがなのみ"; } if (!mb_ereg("^[ァ-ヶー]+$", $string)) { echo "カタカナのみ"; }
PHP で大量メール送信を非同期で行う
1PHP でメールを非同期に送信する時に PEAR の Mail_Queue を使用するときのメモです。
Mail_Queue のマニュアル
PEAR :: Manual :: Mail_Queue
上記マニュアルにあるチュートリアルが分かりやすいです。
PEAR :: Manual :: チュートリアル
処理の流れとしては下記のようになります。
- データベースに送信するメールを貯める
- cron で定期的に貯まったメールを送信する
JpGraph を日本語化する
1JpGraph を日本語化するメモです。
JpGraph をダウンロードする
JpGraph – PHP Graph Creating Library より最新版をダウンロードする。PHP4 で使用する場合は Ver 1.x 、PHP5 で使用する場合は Ver 2.x を使用すること
ダウンロードしたファイル内の src を jpgraph とリネームして PHP からインクルードできるところへ配置する。
(続きを読む…)
CSV ファイルをダウンロードさせるとファイルの先頭に BOM が勝手に付いてしまう
1開発しているシステムで CSV ファイルをダウンロードさせる機能があります。PHP コードは UTF-8 で記述しているのですが、CSV ファイルは Shift-JIS で出力したいので、ダウンロードさせるときに変換をしています。
その機能で急にファイルの先頭に勝手に BOM が付いてしまうというバグが発生しました。
しかも自分のローカルの開発環境では発生せずに、テスト機だけで起こるという現象でした。
ダウンロードする処理は何も修正していないので、最初は出力するデータに問題があるのかと思い、色々試したみたが出力するデータには関係ないことが分かった。
(続きを読む…)