login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP] Check besturing (Opgelost)

Offline Sc0tTy - 03/07/2007 10:33
Avatar van Sc0tTyPHP interesse Goede morge ,

Ik ben bezig met een log class, maar ik moet hiervoor weten welk besturing de server draait ( linux/windows ) zodat ik weet hoe ik de file moet hanteren. Weet iemand hier een makkelijke foefje voor ?

8 antwoorden

Gesponsorde links
Offline Rik - 03/07/2007 10:35 (laatste wijziging 03/07/2007 10:37)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Met $_SERVER['SERVER_SOFTWARE'] volgens mij.

Edit:
Er wordt ook automatisch een constante geset in php: PHP_OS.
Offline marten - 03/07/2007 10:39
Avatar van marten Beheerder
  1. <?php
  2. if(eregi("(win|windows)[ ]*((nt)*[ /]*([0-9]+(.?[0-9]+))*)", $http_u_a, $regs)){
  3. if(eregi("(win|windows)[ ](95)", $http_u_a)){
  4. $os = 'Windows 95';
  5. }
  6. elseif(eregi("(win|windows)[ ](98)", $http_u_a)){
  7. $os = 'Windows 98';
  8. }
  9. elseif(eregi("(win|windows)[ ](me)", $http_u_a)){
  10. $os = 'Windows ME';
  11. }
  12. elseif(eregi("(win|windows)[ ](nt)", $http_u_a)){
  13. if(eregi("(win|windows)[ ](nt)[ ](5.1)", $http_u_a)){
  14. $os = 'Windows XP';
  15. }
  16. elseif(eregi("(win|windows)[ ](nt)[ ](5.0)", $http_u_a)){
  17. $os = 'Windows 2000';
  18. }
  19. else{
  20. $os = 'Windows NT';
  21. }
  22. }
  23. else{
  24. $os = 'Windows';
  25. }
  26. }
  27. elseif(stristr($http_u_a, "linux")){
  28. $os = 'Linux';
  29. }
  30. elseif(stristr($http_u_a, "unix")){
  31. $os = 'Unix';
  32. }
  33. elseif(stristr($http_u_a, "mac")){
  34. $os = 'MacOS';
  35. }
  36. elseif(stristr($http_u_a, "ppc")){
  37. $os = 'MacOS';
  38. }
  39. else{
  40. $os = 'Onbekend';
  41. }
  42. ?>


Hierbij is:

  1. <?php
  2. $http_u_a = strtolower(rawurldecode($_SERVER['HTTP_USER_AGENT']));
  3. ?>
Offline Rik - 03/07/2007 10:41
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
@Marten
Dat haalt het OS van de bezoeker op... 
Offline marten - 03/07/2007 10:48
Avatar van marten Beheerder Ah niet goed gelezen. Dacht dat de OS van de client gevraagd werd.
Offline Sc0tTy - 03/07/2007 16:25
Avatar van Sc0tTy PHP interesse juh , kzoek OS van de server $_ENV is bij mij leeg

nou retourneerd dit : [SERVER_SOFTWARE] => Microsoft-IIS/6.0

maar op windows kan netzogoed apache draaien en dan zit ik als nog in de problemen.
Offline Rik - 03/07/2007 16:31
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
En wat zegt PHP_OS? 

Ter vergelijking, dit geeft hij bij mij:
Citaat:
$_SERVER['SERVER_SOFTWARE']: Apache/2.0.55 (Win32) PHP/5.2.3
PHP_OS: WINNT
Offline Sc0tTy - 03/07/2007 16:50
Avatar van Sc0tTy PHP interesse ayt , jah khad al iets anders gescript :

  1. $slash = ( strstr( $_SERVER['APPL_PHYSICAL_PATH'] , '\\' ) ? '\\' : '/' );


Werkt ook en zou fool proof moeten zijn 
Offline Rik - 03/07/2007 16:58
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Daar had je ook DIRECTORY_SEPARATOR voor kunnen gebruiken. ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s