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 の公式ドキュメントを参照してください。