Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z eregi
Forum PHP.pl > Forum > Przedszkole
-abrakadabra-
witam, nie znam sie na php a potrzebuję pomocy, strona którą mam ma w swoim kodzie taką funkcję (poniżej) - wyświetlającą jaki system i wersja. Obecnie serwer ma nową wersję php i wyświetlają sie błędy, ze eregi jest przestarzałe. Potrzebuję przerobienia z zamiast eregi na preg_match. czy ktoś może mi pomóc?

  1. function os($what = '')
  2. {
  3. $os = array();
  4. $os['amiga'] = array('name' => 'amiga', 'version' => '');
  5. $os['Commodore 64'] = array('name' => 'Commodore', 'version' => '64');
  6. $os['Commodore 128'] = array('name' => 'Commodore', 'version' => '128');
  7. $os['dreamcast'] = array('name' => 'sega dreamcast', 'version' => '');
  8. $os['googlebot'] = array('name' => 'googlebot', 'version' => '');
  9. $os['freebsd'] = array('name' => 'freebsd', 'version' => '');
  10. $os['freebsd amd64'] = array('name' => 'freebsd', 'version' => 'amd64');
  11. $os['freebsd a64'] = array('name' => 'freebsd', 'version' => 'amd64');
  12. $os['freebsd i686'] = array('name' => 'freebsd', 'version' => 'i686');
  13. $os['freebsd i586'] = array('name' => 'freebsd', 'version' => 'i586');
  14. $os['freebsd i486'] = array('name' => 'freebsd', 'version' => 'i486');
  15. $os['freebsd i386'] = array('name' => 'freebsd', 'version' => 'i386');
  16. $os['freebsd 5'] = array('name' => 'freebsd', 'version' => '5.x');
  17. $os['freebsd 6'] = array('name' => 'freebsd', 'version' => '6.x');
  18. $os['freebsd 7'] = array('name' => 'freebsd', 'version' => '7.x');
  19. $os['hp-ux'] = array('name' => 'hp-ux', 'version' => '');
  20. $os['hpux'] = array('name' => 'hp-ux', 'version' => '');
  21. $os['htmlparser'] = array('name' => 'htmlparser', 'version' => '');
  22. $os['irix'] = array('name' => 'irix', 'version' => '');
  23. $os['liberate'] = array('name' => 'liberate', 'version' => '');
  24. $os['lindows'] = array('name' => 'lindows os', 'version' => '');
  25. $os['linux'] = array('name' => 'linux', 'version' => '');
  26. $os['linux i686'] = array('name' => 'linux', 'version' => 'i686');
  27. $os['linux i586'] = array('name' => 'linux', 'version' => 'i586');
  28. $os['linux i486'] = array('name' => 'linux', 'version' => 'i486');
  29. $os['linux i386'] = array('name' => 'linux', 'version' => 'i386');
  30. $os['linux ppc'] = array('name' => 'linux', 'version' => 'ppc');
  31. $os['mac'] = array('name' => 'macintosh', 'version' => '');
  32. $os['Mac OS X'] = array('name' => 'macintosh', 'version' => 'OS X');
  33. $os['Mac OS X 10_4'] = array('name' => 'macintosh', 'version' => 'OS X 10.4.x (Tiger)');
  34. $os['Mac OS X 10_5'] = array('name' => 'macintosh', 'version' => 'OS X 10.5.x (Leopard)');
  35. $os['Mac OS X 10_5_2'] = array('name' => 'macintosh', 'version' => 'OS X 10.5.2 (Leopard)');
  36. $os['Mac OS X 10_5_3'] = array('name' => 'macintosh', 'version' => 'OS X 10.5.3 (Leopard)');
  37. $os['Mac 10'] = array('name' => 'macintosh', 'version' => 'OS X');
  38. $os['PowerPC'] = array('name' => 'macintosh', 'version' => 'PPC');
  39. $os['PPC'] = array('name' => 'macintosh', 'version' => 'PPC');
  40. $os['68000'] = array('name' => 'macintosh', 'version' => '68K');
  41. $os['68k'] = array('name' => 'macintosh', 'version' => '68K');
  42. $os['netbsd'] = array('name' => 'netbsd', 'version' => '');
  43. $os['netbsd amd64'] = array('name' => 'netbsd', 'version' => 'amd64');
  44. $os['netbsd a64'] = array('name' => 'netbsd', 'version' => 'amd64');
  45. $os['netbsd i686'] = array('name' => 'netbsd', 'version' => 'i686');
  46. $os['netbsd i586'] = array('name' => 'netbsd', 'version' => 'i586');
  47. $os['netbsd i486'] = array('name' => 'netbsd', 'version' => 'i486');
  48. $os['netbsd i386'] = array('name' => 'netbsd', 'version' => 'i386');
  49. $os['netcraft'] = array('name' => 'netcraft', 'version' => '');
  50. $os['os/2'] = array('name' => 'os/2', 'version' => '');
  51. $os['os2'] = array('name' => 'os/2', 'version' => '');
  52. $os['Warp 4'] = array('name' => 'os/2', 'version' => 'Warp 4');
  53. $os['Warp 4.5'] = array('name' => 'os/2', 'version' => 'Warp 4.5');
  54. $os['osf1'] = array('name' => 'osf1', 'version' => '');
  55. $os['openbsd'] = array('name' => 'openbsd', 'version' => '');
  56. $os['openbsd amd64'] = array('name' => 'openbsd', 'version' => 'amd64');
  57. $os['openbsd a64'] = array('name' => 'openbsd', 'version' => 'amd64');
  58. $os['openbsd i686'] = array('name' => 'openbsd', 'version' => 'i686');
  59. $os['openbsd i586'] = array('name' => 'openbsd', 'version' => 'i586');
  60. $os['openbsd i486'] = array('name' => 'openbsd', 'version' => 'i486');
  61. $os['openbsd i386'] = array('name' => 'openbsd', 'version' => 'i386');
  62. $os['palm'] = array('name' => 'palm', 'version' => '');
  63. $os['pcbsd 7'] = array('name' => 'pcbsd', 'version' => '7');
  64. $os['powertv'] = array('name' => 'powertv', 'version' => '');
  65. $os['prodigy'] = array('name' => 'prodigy', 'version' => '');
  66. $os['qnx'] = array('name' => 'qnx', 'version' => '');
  67. $os['photon'] = array('name' => 'qnx', 'version' => 'photon');
  68. $os['sie-cx35'] = array('name' => 'Siemens CX35', 'version' => '');
  69. $os['symbian'] = array('name' => 'symbian', 'version' => '');
  70. $os['symbian/6.1'] = array('name' => 'symbian', 'version' => '6.1');
  71. $os['sunos'] = array('name' => 'sunos', 'version' => '');
  72. $os['surveybot'] = array('name' => 'Whois Source', 'version' => '');
  73. $os['unix'] = array('name' => 'unix', 'version' => '');
  74. $os['yahoo'] = array('name' => 'yahoo', 'version' => '');
  75. $os['yahoo! slurp'] = array('name' => 'yahoo slurp', 'version' => '');
  76. $os['web tv'] = array('name' => 'web tv', 'version' => '');
  77. $os['webtv'] = array('name' => 'web tv', 'version' => '');
  78. $os['win'] = array('name' => 'windows', 'version' => '');
  79. $os['windows nt'] = array('name' => 'windows', 'version' => 'nt');
  80. $os['winnt'] = array('name' => 'windows', 'version' => 'nt');
  81. $os['win3.11'] = array('name' => 'windows', 'version' => '3.11');
  82. $os['win3.1'] = array('name' => 'windows', 'version' => '3.1');
  83. $os['windows 95'] = array('name' => 'windows', 'version' => '95');
  84. $os['win95'] = array('name' => 'windows', 'version' => '95');
  85. $os['windows 98'] = array('name' => 'windows', 'version' => '98');
  86. $os['win98'] = array('name' => 'windows', 'version' => '98');
  87. $os['windows me'] = array('name' => 'windows', 'version' => 'me');
  88. $os['win 9x 4.90'] = array('name' => 'windows', 'version' => 'me');
  89. $os['windows nt 5.0'] = array('name' => 'windows', 'version' => '2000');
  90. $os['winnt5.0'] = array('name' => 'windows', 'version' => '2000');
  91. $os['windows 2000'] = array('name' => 'windows', 'version' => '2000');
  92. $os['win2000'] = array('name' => 'windows', 'version' => '2000');
  93. $os['windows nt 5.1'] = array('name' => 'windows', 'version' => 'xp');
  94. $os['winnt5.1'] = array('name' => 'windows', 'version' => 'xp');
  95. $os['windows xp'] = array('name' => 'windows', 'version' => 'xp');
  96. $os['winxp'] = array('name' => 'windows', 'version' => 'xp');
  97. $os['windows nt 5.2'] = array('name' => 'windows', 'version' => '.net 2003');
  98. $os['winnt5.2'] = array('name' => 'windows', 'version' => '.net 2003');
  99. $os['windows nt 6'] = array('name' => 'windows', 'version' => 'Codename: Vista');
  100. $os['winnt6'] = array('name' => 'windows', 'version' => 'Codename: Vista');
  101. $os['windows nt 6.0'] = array('name' => 'windows', 'version' => 'Codename: Vista');
  102. $os['winnt6.0'] = array('name' => 'windows', 'version' => 'Codename: Vista');
  103. $os['windows nt 6.1'] = array('name' => 'windows', 'version' => '7');
  104. $os['winnt6.1'] = array('name' => 'windows', 'version' => '7');
  105. $os['windows ce'] = array('name' => 'windows', 'version' => 'ce');
  106.  
  107. $ua = strtolower(agent());
  108. $name = 'Not Detected';
  109. $version = '';
  110. if($ua != '')
  111. {
  112. foreach($os as $k=>$v)
  113. {
  114. $k = strtolower($k);
  115.  
  116. if(eregi($k, $ua) !== false) // zamiast eregi - preg_match
  117. {
  118. $name = $v['name'];
  119. $version = $v['version'];
  120. }
  121. }
  122. }
  123.  
  124. switch($what)
  125. {
  126. case 'all':
  127. $return['os'] = $name.' v.'.$version;
  128. $return['name'] = $name;
  129. $return['version'] = $version;
  130. break;
  131. case 'name':
  132. $return = $name;
  133. break;
  134. case 'version':
  135. $return = $version;
  136. break;
  137. default:
  138. $return = $name.' '.$version;
  139. break;
  140. }
  141. return $return;
  142. }
Stef@n
Poczytaj tutaj http://pornel.net/ereg
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.