====== Tips ====== ===== カンマ区切りを配列に格納したいのに、最後に不要なカンマがあるとき ===== ===== error_log ===== bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] ) * message\\ ログに記録されるエラーメッセージ。 * message_type * 0\\ message は、オペレーティング・システム のシステムログのメカニズムまたはファイルのいずれかを使って PHP のシステム・ロガーに送られます。どちらが使われるかは、 設定ディレクティブ error_log の内容により決定されます。これはデフォルトのオプションです。 * 1\\ message は、destination パラメータで指定されたアドレスに、電子メール により送られます。このメッセージタイプの場合にのみ、 4 番目のパラメータである extra_headers が使われます。 * 2\\ このオプションは存在しません。 * 3\\ message は destination で指定されたファイルに追加されます。 明示的に指定しない限り、message の 最後には改行文字は追加されません。 * 4\\ message は、直接 SAPI のログ出力ハンドラに送信されます。 * destination\\ メッセージの送信先。その設定は、上で説明している message_type パラメータの値によります。 * extra_headers\\ 追加のヘッダ。message_type パラメータが 1 に設定される場合に利用されます。 このメッセージタイプは、 mail() と同様に 内部関数を利用します。 ===== 2次元配列を1次元配列に ===== $array = array_map('array_shift', $array); e.g. mysqlから条件に一致するレコードのnameカラムを取得。1次元配列に変換する。 test.php # php -f test.php Array ( [0] => Array ( [name] => taro ) [1] => Array ( [name] => jiro ) [2] => Array ( [name] => hanako ) ) Array ( [0] => taro [1] => jiro [2] => hanako ) ===== 指定したスクリプトをメインスクリプトの実行前、実行後に動作させる ===== メインスクリプト実行前にタイマースタート、実行後にタイマーストップで時間計測、とか、 スパム対策のフィルタをメインスクリプト実行前に仕掛けてスパムをはじく、とか e.g. php.iniの場合 ; Automatically add files before PHP document. ; http://php.net/auto-prepend-file auto_prepend_file = /home/user/www/start_script.php ; Automatically add files after PHP document. ; http://php.net/auto-append-file auto_append_file = /home/user/www/end_script.php e.g. .htaccessの場合 php_value auto_prepend_file "/home/user/www/start_script.php" php_value auto_append_file "/home/user/www/end_script.php" ===== 配列をCSVに出力 ===== ===== PHPからMySQLへデータをインポート ===== ===== ファイルを読み込んで末尾から表示する ===== file : http://php.net/manual/ja/function.file.php rsort : http://php.net/manual/ja/function.rsort.php ===== 標準出力制御(バッファリング) ===== ===== cliで環境変数セットしたい ===== たとえば、メール受信時にPHPプログラムを実行しようとして、任意の環境変数を設定したい。 ⇒コマンドラインで -d の引数で auto_prepend_file に環境変数を記述したファイルを指定する。 /var/www/env.php /var/www/regist "| /usr/bin/php -d auto_prepend_file=/var/www/env.php -f /var/www/regist.php >> /tmp/postfix 2>&1" /etc/aliases ~省略~ regist: :include:/var/www/regist /etc/postfix/main.cf # Allowed to run :include: method in /etc/aliases allow_mail_to_commands = alias, forward, include