ログでデバッグ

php で、簡単にログを出力する関数があったのでメモ。

error_log()

という関数です。

第1引数はmessageで、ログに出力する内容。
自動で改行はされませんので、必要に応じてここに含めます。

第2引数はmessage_typeで、0~4の整数。

この内、よく使うと思われるのは1と3でしょう。

第3引数はdestinationで、第2引数に関連します。

第2引数で1を指定した場合、destinationにはメールアドレスを指定します。

ここで指定したアドレスにメールを送信してくれるわけですが、
phpが動いているサーバーにsmtpなどのメールに必要な設定がされている必要があります。

第2引数で3を指定した場合、destinationにはファイル名を指定します。

ここで指定したファイルにログを出力してくれます。

ログファイルでデバッグ、これは今後使うかもしれないです。

カテゴリー: php

.svnフォルダ等、特定フォルダを一括で削除する方法

(1)フォルダまるごとコピー
例: c:\temp\app1

(2)DOS窓で、  cd c:\temp\app1

(3)DOS窓で、 for /R %d in (.svn) do rmdir /S /Q “%d”

他にも方法ありそうですが。

foreach で値を参照で受け取った場合は、配列を壊さないようにunset()するべき。

下記のように、foreach で参照で値を受け取って配列の値を加工する場合に、最後にunset()しないと、配列を破壊する場合があります。

//下記のunset($val)をしないと、$list[2] への参照が $val に残っていて$valに値を入れると、$list[2]の値が下記かわってしまう
unset($val);  

要注意ですね。
(変数の持ち回しがよくないとか、参照で処理するのはコストがかかるのでしないほうがいい、とかいう意見もありそうですが、もしやるならunset()も必須でという感じです。)

最初に現象が出た時には、なんなんだこの動きは?って思いましたが納得です。

カテゴリー: php