PHP, 22 octets
`<?=PATH_SEPARATOR>":";`
Imprime 1si le séparateur de chemin est un point-virgule (deux points ou vide pour tous les autres systèmes d’exploitation à l'exception de DOS et OS / 2), sinon rien.
également 22 octets , mais pas si sûr:
<?=strpos(__FILE__,92);
affiche un entier positif si le chemin du fichier contient une barre oblique inverse; sinon rien.
Une alternative sûre avec 27 octets : <?=DIRECTORY_SEPARATOR>"/";impressions 1ou rien.
Une découverte étrange : <?=__FILE__[1]==":";( 20 octets ) devrait être, pas sûr non plus, mais ok. Mais bien que __FILE__prétende être une chaîne (j'ai essayé var_dumpet gettype), l'indexation génère une erreur, à moins que vous ne la copiiez ailleurs (la concaténation fonctionne également) ou que vous l'utilisiez comme paramètre de fonction.
Edit:
<?=(__FILE__)[1]==":";(également 22 octets ) fonctionne en PHP 7; mais c’est parce que les parenthèses copient la valeur de la constante dans une variable temporaire.
27 octets : <?=stripos(PHP_OS,win)===0;
teste si la PHP_OSconstante prédéfinie commence par win(insensible à la casse; Windows, WIN32, WINNT, mais pas CYGWIN ni Darwin); imprime 1pour Windows, sinon rien.
17/18 octets :
<?=strlen("
")-1;
imprime 1s'il a été stocké avec le saut de ligne Windows (également sous DOS, OS / 2 et Atari TOS - bien que je doute que quiconque ait déjà compilé PHP pour TOS), sinon 0.
Vous pouvez également vérifier la constante PHP_EOL.
plus d'options:
PHP_SHLIB_SUFFIXest dllsur Windows, mais pas nécessairement seulement là.
php_uname()renvoie des informations sur le système d'exploitation et plus encore; commence par Windowspour Windows.
$_SERVER['HTTP_USER_AGENT']contiendra Windowslorsqu’il sera appelé dans un navigateur sous Windows.
<?=defined(PHP_WINDOWS_VERSION_BUILD);(38 octets) fonctionne en PHP> = 5.3
conclusion
Le seul moyen sûr de savoir s’il s’agit bien de Windows, ce qui ne ressemble à rien, semble être une vérification du nom du système d’exploitation. Pour PHP: php_os()peut être désactivé pour des raisons de sécurité; mais PHP_OScontiendra probablement toujours les informations souhaitées.