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.