if (strncasecmp(PHP_OS, 'WIN', 3) == 0) {
echo 'This is a server using Windows!';
} else {
echo 'This is a server not using Windows!';
}
semble un peu plus élégant que la réponse acceptée. La détection susmentionnée avec DIRECTORY_SEPARATOR est cependant la plus rapide.
Vous pouvez vérifier si le séparateur de répertoire est /
(pour unix/linux/mac) ou \
sur les fenêtres. Le nom de la constante est DIRECTORY_SEPARATOR
.
if (DIRECTORY_SEPARATOR === '/') {
// unix, linux, mac
}
if (DIRECTORY_SEPARATOR === '\\') {
// windows
}
Vérifier la valeur du PHP_OS
constante.
Il vous donnera différentes valeurs sous Windows comme WIN32
, WINNT
ou Windows
.
Voir aussi :Valeurs possibles pour :PHP_OS et 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!';
}
À partir de PHP 7.2.0, vous pouvez détecter le système d'exploitation en cours d'exécution. en utilisant la constante PHP_OS_FAMILY
:
if (PHP_OS_FAMILY === "Windows") {
echo "Running on Windows";
} elseif (PHP_OS_FAMILY === "Linux") {
echo "Running on Linux";
}
Voir la documentation PHP officielle pour ses valeurs possibles.