if (strncasecmp(PHP_OS, 'WIN', 3) == 0) {
echo 'This is a server using Windows!';
} else {
echo 'This is a server not using Windows!';
}
受け入れられた答えよりも少しエレガントなようです。ただし、前述の DIRECTORY_SEPARATOR による検出が最も高速です。
ディレクトリ区切り文字が / かどうかを確認できます (unix/linux/mac の場合) または \ 窓に。定数名は DIRECTORY_SEPARATOR です .
if (DIRECTORY_SEPARATOR === '/') {
// unix, linux, mac
}
if (DIRECTORY_SEPARATOR === '\\') {
// windows
}
PHP_OS の値を確認してください
Windows では WIN32 のようなさまざまな値が得られます 、 WINNT または Windows .
以下も参照してください:可能な値:PHP_OS と php_uname :
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
echo 'This is a server using Windows!';
} else {
echo 'This is a server not using Windows!';
}
PHP 7.2.0 以降では、実行中の OS を検出できます。定数 PHP_OS_FAMILY を使用 :
if (PHP_OS_FAMILY === "Windows") {
echo "Running on Windows";
} elseif (PHP_OS_FAMILY === "Linux") {
echo "Running on Linux";
}
可能な値については、PHP の公式ドキュメントを参照してください。