login  Naam:   Wachtwoord: 
Registreer je!
 Forum

OS opvragen

Offline robijn - 13/02/2006 16:00
Avatar van robijnNieuw lid hoe kan je je OS opvragen via php???

alvast bedankt!

13 antwoorden

Gesponsorde links
Offline vinTage - 13/02/2006 16:15
Avatar van vinTage Nieuw lid Dat gaat niet alleen met php dacht ik.
Je moet het opvragen via javascript, en dan zou je de variabelen naar php kunnen pompen.

Bekijk de bron van deze pagina voor een mooi javascript.
Offline Frederic - 13/02/2006 16:15 (laatste wijziging 13/02/2006 16:17)
Avatar van Frederic PHP ver gevorderde Door tutorials te lezen en Google te gebruiken
@Vintage: Gaat wel, want ik gebruik hier geen enkel Javascriptje ;)
Offline robijn - 13/02/2006 16:29
Avatar van robijn Nieuw lid kbedoel wel de OS van de client
Offline Maarten - 13/02/2006 16:33 (laatste wijziging 13/02/2006 16:35)
Avatar van Maarten Erelid Moest je de moeite nemen om te zoeken tussen de scripts zou je dit script gevonden hebben waar het OS bepaald wordt... dus als je dat stuk code er even uit haalt en in een functie giet bekom je dit:

  1. <?php
  2. function os() {
  3. $http_u_a = strtolower(rawurldecode($_SERVER['HTTP_USER_AGENT']));
  4.  
  5. if(eregi("(win|windows)[ ]*((nt)*[ /]*([0-9]+(.?[0-9]+))*)",$http_u_a,$regs)) {
  6.  
  7. if(eregi("(win|windows)[ ](95)",$http_u_a)) {
  8. $os = 'Windows 95';
  9. } elseif(eregi("(win|windows)[ ](98)",$http_u_a)) {
  10. $os = 'Windows 98';
  11. } elseif(eregi("(win|windows)[ ](me)",$http_u_a)) {
  12. $os = 'Windows ME';
  13. } elseif(eregi("(win|windows)[ ](nt)",$http_u_a)) {
  14. if(eregi("(win|windows)[ ](nt)[ ](5.1)",$http_u_a)) {
  15. $os = 'Windows XP';
  16. } elseif(eregi("(win|windows)[ ](nt)[ ](5.0)",$http_u_a)) {
  17. $os = 'Windows 2000';
  18. } else {
  19. $os = 'Windows NT';
  20. }
  21. } else {
  22. $os = 'Windows';
  23. }
  24. } elseif(stristr($http_u_a,"linux")) {
  25. $os = 'Linux';
  26. } elseif(stristr($http_u_a,"unix")) {
  27. $os = 'Unix';
  28. } elseif(stristr($http_u_a,"mac") || stristr($http_u_a,"ppc")) {
  29. $os = 'MacOS';
  30. } else {
  31. $os = 'Onbekend';
  32. }
  33.  
  34. return $os;
  35. }
  36. ?>


En met <?=os()?> of <?php echo os(); ?> krijg je dan het OS.

Citaat:
kbedoel wel de OS van de client

Is hier dan al ergens een reactie gegeven waar iets anders bedoeld werd?
Offline Bart - 13/02/2006 19:30
Avatar van Bart PHP expert @vinTage,
die site klopt alleen niet. Hij geeft verkeerde gegevens XD
Offline MothZone - 13/02/2006 22:02
Avatar van MothZone PHP ver gevorderde @Fréderic: Je site geeft verkeerde gegevens.
Volgens de site surf ik met Firefox, ookal doe ik niet mee aan die rage en surf ik met Netscape.
Offline Frederic - 13/02/2006 22:24
Avatar van Frederic PHP ver gevorderde Als Netscape in z'n stamp zet dat het een Mozilla is dan voel ik me vrij verplicht om er FireFox van te maken, ook al klopt dat in 0.5% van de gevallen niet. Dit is trouwens de code die ik gebruik, dus normaal zou netscape wel herkend moeten worden!
  1. <?
  2. //KNIP//
  3. elseif(eregi('netscape6/([0-9]+\.[0-9]+\.[0-9]+)', $omschrijving, $regs)){
  4. $browser = "Netscape ".$regs[1];
  5. }
  6. elseif (eregi('mozilla/([0-9]+\.[0-9]+)', $omschrijving, $regs)){
  7. if($regs = 5.0){
  8. $browser = "Mozilla FireFox 1.0";
  9. }
  10. else{
  11. $browser = "Mozilla ".$regs[1];
  12. }
  13. }
  14. //END KNIP//

Maar dat geheel offtopic ;)
Offline Dieter_be - 13/02/2006 22:31 (laatste wijziging 13/02/2006 22:35)
Avatar van Dieter_be Nieuw lid firefox herken je niet alleen aan de mozilla in de user agent, maar ook doordat er gecko in vernoemd wordt
bij netscape is dat niet, tenzij er ook netscape ook in wordt vernoemd (zie http://devedge-...nt-strings/)
dus zo haal je de juiste gegevens uit de user agent
Offline robijn - 14/02/2006 08:59 (laatste wijziging 14/02/2006 09:06)
Avatar van robijn Nieuw lid Fréderic kan je even het hele Browser
scriptje on line zetten aub?
Offline Maarten - 14/02/2006 17:27
Avatar van Maarten Erelid Fréderic z'n ding klopt wel niet helemaal:
Citaat:
Mozilla FireFox 1.0 - Linux
Het is Firefox en niet FireFox, en ik heb ook geen 1.0 maar 1.5.
Offline MothZone - 14/02/2006 18:03
Avatar van MothZone PHP ver gevorderde En in zijn code staat bij netscape "netscape6...", zet dan gewoon "netscape..." en het zal beter werken.
Offline Richard - 14/02/2006 19:16
Avatar van Richard Crew algemeen Als je host PEAR ondersteund, en het package Net_UserAgent_Detect is ondersteund, kun je die gebruiken:

  1. <?php
  2. // include het bestand
  3. require_once 'Net/UserAgent/Detect.php';
  4.  
  5. // haal het OS op
  6. $os = Net_UserAgent_Detect::getOSString();
  7. ?>


hoop dat je er wat aan hebt;)
Offline Maarten - 14/02/2006 19:27
Avatar van Maarten Erelid Owjah dat zou ik ook aanraden dan, niet aan gedacht.

Als je host dat pakket niet ondersteunt, kan je gewoon dat pakket downloaden, uploaden en de paden een beetje aanpassen in de bestanden en het zal ook werken 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.394s