[ PHP ] OS の違いを吸収する定数 ( PHP_OS / DIRECTORY_SEPARATOR … )

Pocket

PHP では様々な OS で動作するように設計されています。プログラムでも OS の違いを吸収したいケースは多々あります。ここでは、PHP であらかじめ用意されているプラットフォームごとに異なる値を返す定数を紹介しています。

スポンサーリンク

PHP_OS

定数 PHP_OS は OS の種類を返します。

var_dump(PHP_OS);

// Windows XP : 'WINNT'
// Solaris 10 : 'SunOS'

Windows では PHP 5.3.0 以降 PHP_WINDOWS_VERSION_MAJOR 定数など(PHP_WINDOWS_*****)によって 詳細なバージョンを取得することができるようになりました。

DIRECTORY_SEPARATOR

定数 DIRECTORY_SEPARATOR はファイルパスの区切り文字を返す定数です。

var_dump(DIRECTORY_SEPARATOR);

// Windows XP : '\'
// Solaris 10 : '/'

//以下のようにファイルパスを組み立てる場合に使用する。
$path = $dirname . DIRECTORY_SEPARATOR . $filename;
PATH_SEPARATOR

定数 PATH_SEPARATOR は、環境変数 PATH の区切り文字を返す定数です。

var_dump(PATH_SEPARATOR);

// Windows XP : ';'
// Solaris 10 : ':'
PHP_EOL

定数 PHP_EOL(End Of Line)は改行コードを返します。

$eol = PHP_EOL;
for($i=0; $i<strlen($eol); $i++) {
    var_dump(ord($eol[$i]));
}

// Windows XP(2文字) : 13 10 (CRLF : '\r\n')
// Solaris 10(1文字) : 10(LF : '\n')
PHP_SHLIB_SUFFIX

定数 PHP_SHLIB_SUFFIX は拡張モジュールの拡張子を返します。あまり使用することはないかもしれません。

var_dump(PHP_SHLIB_SUFFIX);

// Windows XP : 'dll' 
// Solaris 10 : 'so'

参考

 

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *