PHP の PATH_SEPARATOR について

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  PHP で set_include_path() を使って,パスを追加するとき Windows 系と,UNIX 系では
  パスの区切り文字が違うので,今までは

if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
    set_include_path(get_include_path() . ':./libs');
} else {
    set_include_path(get_include_path() . ';./libs');
}


  とかやっていた.

  最近 PATH_SEPARATOR という定数を知って

set_include_path(get_include_path() . PATH_SEPARATOR . './libs');

  で幸せになっていたら,PATH_SEPARATOR が定義されていない場合があることが分かった.

  そこで,正解としては,

if (!defined('PATH_SEPARATOR')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
        define('PATH_SEPARATOR', ':');
    } else {
        define('PATH_SEPARATOR', ';');
    }
}

set_include_path(get_include_path() . PATH_SEPARATOR . './libs');


  ということになるのかな.損したか得したか分からない (汎用的なのは間違いなさそうだけど).

タグ: [PHP][Code]

この記事へのコメント

(コメントはありません)

この記事へのコメントを書く

名前:

メールアドレス (公開されません):

URL:

コメント (入力必須)

この記事へのトラックバック URL

http://cl.pocari.org/tb.php/2005-09-06-3

この記事へのトラックバック

(トラックバックはありません)