PHPの小ネタ集です。
Contents
メールでの改行
メールで改行する場合、いつも\nでOKだったんですが、本日これで送信すると送れないというバグが。
どうやらメール本来の改行は\r\nのようですね。
いつもはlinuxでやってたからなー。こういうところの理解がいい加減でまいります。
phpからメールを送ると、改行がなくなったり、改行が増えたりする件
PHPでのカレントディレクトリ
PHPでrequire_onceなんかでファイルを読み込む場合、相対パスを使うべきではありません。
プログラムの実行位置によって位置が変わってしまうので・・・
その場合、絶対パスを使うのも手ですが、__DIR__を使えば、そのプログラムの現在位置を取得できます。
ただそのプログラムから一段上にいって別のディレクトリのファイルを見たい場合、これだとダメです。
—dir1–file1.php
|
dir2–file2.php
ようはdir1とdir2が同階層でfile1からfile2を読み込みたいようなときです。
その場合、file1.phpのrequire_onceは下記のように書いてあげれば大丈夫です。
1 2 3 4 |
$currentDir = __DIR__; $currentDirUp = dirname($currentDir); require_once $currentDirUp . '/dir2/file2.php'; |
結構、利用機会多そうだったのに今までむしろ触れてなくて以外・・・