Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Google Chrome
Forum PHP.pl > Forum > Przedszkole
red9skull
Siema! Mam taki kod programu, który identyfikuje przeglądarkę i system operacyjny:
  1. <?php
  2. $useragent = $row['user_agent'];
  3. $ua = '';
  4. $ua_description = '';
  5. // if ($useragent)
  6. // {
  7. $ua = strtolower($useragent);
  8. $ua_browser = 'unknown';
  9. $ua_os = 'unknown';
  10.  
  11. // Browser detection:
  12. if (strpos($ua, 'aweb') !== false) $ua_browser = 'AWeb';
  13. else if (strpos($ua, 'camino') !== false) $ua_browser = 'Camino';
  14. else if (strpos($ua, 'epiphany') !== false) $ua_browser = 'Epiphany';
  15. else if (strpos($ua, 'galeon') !== false) $ua_browser = 'Galeon';
  16. else if (strpos($ua, 'hotjava') !== false) $ua_browser = 'HotJava';
  17. else if (strpos($ua, 'icab') !== false) $ua_browser = 'iCab';
  18. else if (strpos($ua, 'safari') !== false) $ua_browser = 'Safari';
  19. else if (strpos($ua, 'granparadiso') !== false) $ua_browser = 'GranParadiso';
  20. else if (strpos($ua, 'konqueror') !== false) $ua_browser = 'Konqueror';
  21. else if (strpos($ua, 'flock') !== false) $ua_browser = 'Flock';
  22. else if (strpos($ua, 'iceweasel') !== false) $ua_browser = 'Iceweasel';
  23. else if (strpos($ua, 'seamonkey') !== false) $ua_browser = 'SeaMonkey';
  24. else if (strpos($ua, 'firefox') !== false) $ua_browser = 'Firefox';
  25. else if (strpos($ua, 'chrome') !== false) $ua_browser = 'Chrome';
  26. else if (strpos($ua, 'firebird') !== false) $ua_browser = 'Firebird';
  27. else if (strpos($ua, 'netscape') !== false) $ua_browser = 'Netscape';
  28. else if (strpos($ua, 'mozilla') !== false && strpos($ua, 'rv:') !== false) $ua_browser = 'Mozilla';
  29. else if (strpos($ua, 'opera') !== false) $ua_browser = 'Opera';
  30. else if (strpos($ua, 'avant browser') !== false) $ua_browser = 'AvantBrowser';
  31. else if (strpos($ua, 'maxthon') !== false || strpos($ua, 'myie') !== false) $ua_browser = 'Maxthon';
  32. else if (strpos($ua, 'phaseout') !== false) $ua_browser = 'PhaseOut';
  33. else if (strpos($ua, 'slimbrowser') !== false) $ua_browser = 'SlimBrowser';
  34. else if (strpos($ua, 'msie') !== false)
  35. {
  36. if (intval(substr($ua, strpos($ua, 'msie')+5)) > 6) $ua_browser = 'MSIE7';
  37. else $ua_browser = 'MSIE';
  38. }
  39.  
  40. // OS detection:
  41. if (strpos($ua, 'amiga') !== false) $ua_os = 'Amiga';
  42. else if (strpos($ua, 'beos; ') !== false) $ua_os = 'BeOS';
  43. else if (strpos($ua, 'freebsd') !== false) $ua_os = 'FreeBSD';
  44. else if (strpos($ua, 'hp-ux') !== false) $ua_os = 'HP-UX';
  45. else if (strpos($ua, 'linux') !== false)
  46. {
  47. if (strpos($ua, 'centos') !== false || strpos($ua, 'cent os') !== false) $ua_os = 'CentOS';
  48. else if (strpos($ua, 'debian') !== false) $ua_os = 'Debian';
  49. else if (strpos($ua, 'fedora') !== false) $ua_os = 'Fedora';
  50. else if (strpos($ua, 'freespire') !== false) $ua_os = 'Freespire';
  51. else if (strpos($ua, 'gentoo') !== false) $ua_os = 'Gentoo';
  52. else if (strpos($ua, 'kanotix') !== false) $ua_os = 'Kanotix';
  53. else if (strpos($ua, 'kateos') !== false || strpos($ua, 'kate os') !== false) $ua_os = 'KateOS';
  54. else if (strpos($ua, 'knoppix') !== false) $ua_os = 'Knoppix';
  55. else if (strpos($ua, 'kubuntu') !== false) $ua_os = 'Kubuntu';
  56. else if (strpos($ua, 'linspire') !== false) $ua_os = 'Linspire';
  57. else if (strpos($ua, 'mandriva') !== false || strpos($ua, 'mandrake') !== false) $ua_os = 'Mandriva';
  58. else if (strpos($ua, 'redhat') !== false || strpos($ua, 'red hat') !== false) $ua_os = 'RedHat';
  59. else if (strpos($ua, 'slackware') !== false) $ua_os = 'Slackware';
  60. else if (strpos($ua, 'slax') !== false) $ua_os = 'Slax';
  61. else if (strpos($ua, 'suse') !== false) $ua_os = 'Suse';
  62. else if (strpos($ua, 'xubuntu') !== false) $ua_os = 'Xubuntu';
  63. else if (strpos($ua, 'ubuntu') !== false) $ua_os = 'Ubuntu';
  64. else if (strpos($ua, 'xandros') !== false) $ua_os = 'Xandros';
  65. else if (strpos($ua, 'arch') !== false) $ua_os = 'Arch';
  66. else if (strpos($ua, 'ark') !== false) $ua_os = 'Ark';
  67. else $ua_os = 'Linux';
  68. }
  69. else if (strpos($ua, 'macosx') !== false || strpos($ua, 'macos') !== false || strpos($ua, 'mac os x') !== false || strpos($ua, 'macintosh') !== false || strpos($ua, 'os=mac') !== false || strpos($ua, 'mac_osx') !== false) $ua_os = 'MacOSX';
  70. else if (strpos($ua, 'macppc') !== false || strpos($ua, 'mac_ppc') !== false || strpos($ua, 'cpu=ppc;') !== false && strpos($ua, 'os=mac') !== false || strpos($ua, 'macintosh; ppc') !== false || strpos($ua, 'macintosh;') !== false && strpos($ua, 'ppc') !== false || strpos($ua, 'mac_powerpc') !== false) $ua_os = 'MacPPC';
  71. else if (strpos($ua, 'netbsd') !== false) $ua_os = 'NetBSD';
  72. else if (strpos($ua, 'os/2') !== false) $ua_os = 'OS/2';
  73. else if (strpos($ua, 'avantgo') !== false) $ua_os = 'Palm';
  74. else if (strpos($ua, 'sunos') !== false || strpos($ua, 'solaris') !== false) $ua_os = 'SunOS';
  75. else if (strpos($ua, 'symbian') !== false) $ua_os = 'SymbianOS';
  76. else if (strpos($ua, 'unix') !== false) $ua_os = 'Unix';
  77. else if (strpos($ua, 'windows nt 6.0') !== false || strpos($ua, 'winnt6.0') !== false) $ua_os = 'WindowsVista';
  78. else if (strpos($ua, 'windows nt 5.1') !== false || strpos($ua, 'windows xp 5.1') !== false || strpos($ua, 'windows xp') !== false || strpos($ua, 'winxp') !== false || strpos($ua, 'winnt5.1') !== false || strpos($ua, 'cygwin_nt-5.1') !== false || strpos($ua, 'windows nt 5.0') !== false || strpos($ua, 'windows 2000') !== false || strpos($ua, 'win2000') !== false || strpos($ua, 'winnt5.0') !== false || strpos($ua, 'windows nt 5.2') !== false || strpos($ua, 'winnt5.2') !== false) $ua_os = 'WindowsXP';
  79. else if (strpos($ua, 'windows') !== false || strpos($ua, 'win') !== false) $ua_os = 'Windows';
  80. else if (strpos($ua, 'macintosh') !== false || strpos($ua, 'mac') !== false) $ua_os = 'Macintosh';
  81. else if (strpos($ua, 'sun') !== false) $ua_os = 'Sun';
  82.  
  83. $ua = '<img src="images/user_agent/os/' . htmlspecialchars(ereg_replace('[^a-z0-9_]', '', strtolower($ua_os))) . '.png" title="' . htmlspecialchars($ua_os) . '" alt="' . htmlspecialchars($ua_os) . '" style="margin-right: 1px"/>' . '<img src="images/user_agent/browser/' . htmlspecialchars(ereg_replace('[^a-z0-9_]', '', strtolower($ua_browser))) . '.png" title="' . htmlspecialchars($useragent) . '" alt="' . htmlspecialchars($ua_browser) . '" style="margin-left: 1px"/>';
  84.  
  85. $ua_description = addslashes($useragent) . '\n\nSystem:\t\t' . addslashes($ua_os) .'\nPrzeglądarka:\t' . addslashes($ua_browser) . '\n\t' ;
  86. // }
  87. // else $ua = '';
  88. if ($ua && $ua_description) $ua = '<span style="cursor: pointer" onclick="alert(\'' . htmlspecialchars($ua_description) . '\')">' . $ua . '</span>';
  89.  
  90. //Tutaj mam zakomentowane linie "if ($useragent)", "{", "}", "else $ua = '';" czyli jak nie będzie identyfikacji to będą zamiast tego ikonki "?". Dla postów napisanych przed wprowadzeniem tego moda też będą "?" (z powodu braku identyfikacji - chyba to oczywiste ;) ). Jak chcesz żeby nie było ikonek przy braku identyfikacji to poprostu odkomentuj te linie.
  91. ?>


Wiece może co mam dopisać żeby identyfikowało również przeglądarkę Google Chrome?
Spirit86
  1. <?php
  2. $useragent = $row['user_agent'];
  3. $ua = '';
  4. $ua_description = '';
  5. // if ($useragent)
  6. // {
  7. $ua = strtolower($useragent);
  8. $ua_browser = 'unknown';
  9. $ua_os = 'unknown';
  10.  
  11. // Browser detection:
  12. if (strpos($ua, 'aweb') !== false) $ua_browser = 'AWeb';
  13. else if (strpos($ua, 'camino') !== false) $ua_browser = 'Camino';
  14. else if (strpos($ua, 'chrome') !== false) $ua_browser = 'Chrome';
  15. else if (strpos($ua, 'epiphany') !== false) $ua_browser = 'Epiphany';
  16. else if (strpos($ua, 'galeon') !== false) $ua_browser = 'Galeon';
  17. else if (strpos($ua, 'hotjava') !== false) $ua_browser = 'HotJava';
  18. else if (strpos($ua, 'icab') !== false) $ua_browser = 'iCab';
  19. else if (strpos($ua, 'safari') !== false) $ua_browser = 'Safari';
  20. else if (strpos($ua, 'granparadiso') !== false) $ua_browser = 'GranParadiso';
  21. else if (strpos($ua, 'konqueror') !== false) $ua_browser = 'Konqueror';
  22. else if (strpos($ua, 'flock') !== false) $ua_browser = 'Flock';
  23. else if (strpos($ua, 'iceweasel') !== false) $ua_browser = 'Iceweasel';
  24. else if (strpos($ua, 'seamonkey') !== false) $ua_browser = 'SeaMonkey';
  25. else if (strpos($ua, 'firefox') !== false) $ua_browser = 'Firefox';
  26. else if (strpos($ua, 'chrome') !== false) $ua_browser = 'Chrome';
  27. else if (strpos($ua, 'firebird') !== false) $ua_browser = 'Firebird';
  28. else if (strpos($ua, 'netscape') !== false) $ua_browser = 'Netscape';
  29. else if (strpos($ua, 'mozilla') !== false && strpos($ua, 'rv:') !== false) $ua_browser = 'Mozilla';
  30. else if (strpos($ua, 'opera') !== false) $ua_browser = 'Opera';
  31. else if (strpos($ua, 'avant browser') !== false) $ua_browser = 'AvantBrowser';
  32. else if (strpos($ua, 'maxthon') !== false || strpos($ua, 'myie') !== false) $ua_browser = 'Maxthon';
  33. else if (strpos($ua, 'phaseout') !== false) $ua_browser = 'PhaseOut';
  34. else if (strpos($ua, 'slimbrowser') !== false) $ua_browser = 'SlimBrowser';
  35. else if (strpos($ua, 'msie') !== false)
  36. {
  37. if (intval(substr($ua, strpos($ua, 'msie')+5)) > 6) $ua_browser = 'MSIE7';
  38. else $ua_browser = 'MSIE';
  39. }
  40.  
  41. // OS detection:
  42. if (strpos($ua, 'amiga') !== false) $ua_os = 'Amiga';
  43. else if (strpos($ua, 'beos; ') !== false) $ua_os = 'BeOS';
  44. else if (strpos($ua, 'freebsd') !== false) $ua_os = 'FreeBSD';
  45. else if (strpos($ua, 'hp-ux') !== false) $ua_os = 'HP-UX';
  46. else if (strpos($ua, 'linux') !== false)
  47. {
  48. if (strpos($ua, 'centos') !== false || strpos($ua, 'cent os') !== false) $ua_os = 'CentOS';
  49. else if (strpos($ua, 'debian') !== false) $ua_os = 'Debian';
  50. else if (strpos($ua, 'fedora') !== false) $ua_os = 'Fedora';
  51. else if (strpos($ua, 'freespire') !== false) $ua_os = 'Freespire';
  52. else if (strpos($ua, 'gentoo') !== false) $ua_os = 'Gentoo';
  53. else if (strpos($ua, 'kanotix') !== false) $ua_os = 'Kanotix';
  54. else if (strpos($ua, 'kateos') !== false || strpos($ua, 'kate os') !== false) $ua_os = 'KateOS';
  55. else if (strpos($ua, 'knoppix') !== false) $ua_os = 'Knoppix';
  56. else if (strpos($ua, 'kubuntu') !== false) $ua_os = 'Kubuntu';
  57. else if (strpos($ua, 'linspire') !== false) $ua_os = 'Linspire';
  58. else if (strpos($ua, 'mandriva') !== false || strpos($ua, 'mandrake') !== false) $ua_os = 'Mandriva';
  59. else if (strpos($ua, 'redhat') !== false || strpos($ua, 'red hat') !== false) $ua_os = 'RedHat';
  60. else if (strpos($ua, 'slackware') !== false) $ua_os = 'Slackware';
  61. else if (strpos($ua, 'slax') !== false) $ua_os = 'Slax';
  62. else if (strpos($ua, 'suse') !== false) $ua_os = 'Suse';
  63. else if (strpos($ua, 'xubuntu') !== false) $ua_os = 'Xubuntu';
  64. else if (strpos($ua, 'ubuntu') !== false) $ua_os = 'Ubuntu';
  65. else if (strpos($ua, 'xandros') !== false) $ua_os = 'Xandros';
  66. else if (strpos($ua, 'arch') !== false) $ua_os = 'Arch';
  67. else if (strpos($ua, 'ark') !== false) $ua_os = 'Ark';
  68. else $ua_os = 'Linux';
  69. }
  70. else if (strpos($ua, 'macosx') !== false || strpos($ua, 'macos') !== false || strpos($ua, 'mac os x') !== false || strpos($ua, 'macintosh') !== false || strpos($ua, 'os=mac') !== false || strpos($ua, 'mac_osx') !== false) $ua_os = 'MacOSX';
  71. else if (strpos($ua, 'macppc') !== false || strpos($ua, 'mac_ppc') !== false || strpos($ua, 'cpu=ppc;') !== false && strpos($ua, 'os=mac') !== false || strpos($ua, 'macintosh; ppc') !== false || strpos($ua, 'macintosh;') !== false && strpos($ua, 'ppc') !== false || strpos($ua, 'mac_powerpc') !== false) $ua_os = 'MacPPC';
  72. else if (strpos($ua, 'netbsd') !== false) $ua_os = 'NetBSD';
  73. else if (strpos($ua, 'os/2') !== false) $ua_os = 'OS/2';
  74. else if (strpos($ua, 'avantgo') !== false) $ua_os = 'Palm';
  75. else if (strpos($ua, 'sunos') !== false || strpos($ua, 'solaris') !== false) $ua_os = 'SunOS';
  76. else if (strpos($ua, 'symbian') !== false) $ua_os = 'SymbianOS';
  77. else if (strpos($ua, 'unix') !== false) $ua_os = 'Unix';
  78. else if (strpos($ua, 'windows nt 6.0') !== false || strpos($ua, 'winnt6.0') !== false) $ua_os = 'WindowsVista';
  79. else if (strpos($ua, 'windows nt 5.1') !== false || strpos($ua, 'windows xp 5.1') !== false || strpos($ua, 'windows xp') !== false || strpos($ua, 'winxp') !== false || strpos($ua, 'winnt5.1') !== false || strpos($ua, 'cygwin_nt-5.1') !== false || strpos($ua, 'windows nt 5.0') !== false || strpos($ua, 'windows 2000') !== false || strpos($ua, 'win2000') !== false || strpos($ua, 'winnt5.0') !== false || strpos($ua, 'windows nt 5.2') !== false || strpos($ua, 'winnt5.2') !== false) $ua_os = 'WindowsXP';
  80. else if (strpos($ua, 'windows') !== false || strpos($ua, 'win') !== false) $ua_os = 'Windows';
  81. else if (strpos($ua, 'macintosh') !== false || strpos($ua, 'mac') !== false) $ua_os = 'Macintosh';
  82. else if (strpos($ua, 'sun') !== false) $ua_os = 'Sun';
  83.  
  84. $ua = '<img src="images/user_agent/os/' . htmlspecialchars(ereg_replace('[^a-z0-9_]', '', strtolower($ua_os))) . '.png" title="' . htmlspecialchars($ua_os) . '" alt="' . htmlspecialchars($ua_os) . '" style="margin-right: 1px"/>' . '<img src="images/user_agent/browser/' . htmlspecialchars(ereg_replace('[^a-z0-9_]', '', strtolower($ua_browser))) . '.png" title="' . htmlspecialchars($useragent) . '" alt="' . htmlspecialchars($ua_browser) . '" style="margin-left: 1px"/>';
  85.  
  86. $ua_description = addslashes($useragent) . '\n\nSystem:\t\t' . addslashes($ua_os) .'\nPrzeglądarka:\t' . addslashes($ua_browser) . '\n\t' ;
  87. // }
  88. // else $ua = '';
  89. if ($ua && $ua_description) $ua = '<span style="cursor: pointer" onclick="alert(\'' . htmlspecialchars($ua_description) . '\')">' . $ua . '</span>';
  90.  
  91. //Tutaj mam zakomentowane linie "if ($useragent)", "{", "}", "else $ua = '';" czyli jak nie będzie identyfikacji to będą zamiast tego ikonki "?". Dla postów napisanych przed wprowadzeniem tego moda też będą "?" (z powodu braku identyfikacji - chyba to oczywiste ;) ). Jak chcesz żeby nie było ikonek przy braku identyfikacji to poprostu odkomentuj te linie.
  92. ?>


to jest obrabianie jakiegoś skryptu widzę, bo masz z bazy danych:
  1. $useragent = $row['user_agent'];

jeżeli kopiujesz to do własnego skryptu, to zmień na :
  1. $useragent = $_SERVER['HTTP_USER_AGENT'];

tongue.gif
red9skull
Dzięki! A co do tego:
  1. $useragent = $row['user_agent'];

To ten mod jest napisany specjalnie do mojego skryptu =) Pozdro
pheter
Porwnując linię 25 kodu red9skull oraz 14 i 26 kod spirit86 nie kumam o co chodzi. Możecie wyjaśnić?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.