Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Ошибка Function eregi()
Форумы портала PHP.SU » » Вопросы новичков » Ошибка Function eregi()

Страниц (1): [1]
 

1. Sanek_OS9 - 22 Декабря, 2012 - 23:05:33 - перейти к сообщению
Здраствуйте, у меня возникли проблемы с функцией eregi(), дело в том что при включении показа ошибок у меня возникло полно ошибок (на денвере) где используется эта функция, например:
Deprecated: Function eregi() is deprecated in Z:\home\test1.ru\www\sys\inc\settings.php on line 39
А вот эта строка:
PHP:
скопировать код в буфер обмена
  1. if (isset($_SERVER["HTTP_USER_AGENT"]) && (eregi('(up-browser)|(blackberry)|(windows ce)|symbian|palm|nokia', $_SERVER["HTTP_USER_AGENT"])))
  2. $webbrowser=false;

Для наглядности еще пример:
Deprecated: Function eregi() is deprecated in Z:\home\test1.ru\www\sys\inc\umenu.php on line 38
А вот эта строка:

А используется эта строка так:
PHP:
скопировать код в буфер обмена
  1. $opdirbase=@opendir(H.'sys/add/umenu');
  2. while ($filebase=@readdir($opdirbase))
  3. if (eregi('\.php$',$filebase))
  4. include_once(H.'sys/add/umenu/'.$filebase);
(для наглядности).
Помогите избавится от этого неподобства. Огорчение
2. Okula - 22 Декабря, 2012 - 23:08:31 - перейти к сообщению
Функция ereg() и eregi() давно устарела. Используй вместо неё preg_match() или preg_match_all() с модификатором i (если нужна регистронезависимость).
3. LIME - 22 Декабря, 2012 - 23:10:47 - перейти к сообщению
это не ошибка
это предупреждение что фция устарела
можно забить или поменять на
http://www.php.su/functions/?cat=pcre
4. Sanek_OS9 - 23 Декабря, 2012 - 14:11:39 - перейти к сообщению
[quote=Okula][/quote] Помоги в указанных примерах переделать, а то у меня что то не получается. Огорчение
(Добавление)
Вот это получилочь переделать:
PHP:
скопировать код в буфер обмена
  1. $opdirbase=@opendir(H.'sys/add/umenu');
  2.  
  3. while ($filebase=@readdir($opdirbase))
  4.  
  5. if (eregi('\.php$',$filebase))
  6.  
  7. include_once(H.'sys/add/umenu/'.$filebase);

Вот что получилось:
PHP:
скопировать код в буфер обмена
  1. $opdirbase=@opendir(H.'sys/add/umenu');
  2. while ($filebase=@readdir($opdirbase))
  3. if (preg_match('#\.php$#i',$filebase))
  4. include_once(H.'sys/add/umenu/'.$filebase);
  5.  

(Добавление)
Спасибо что подсказали я вроде разобрался как переделать.
5. Okula - 23 Декабря, 2012 - 15:02:33 - перейти к сообщению
В твоём варианте достаточно сделать так:
PHP:
скопировать код в буфер обмена
  1. $opdirbase=@opendir(H.'sys/add/umenu');
  2. while($filebase=@readdir($opdirbase)) {
  3.     if(strtolower(pathinfo($filebase, PATHINFO_EXTENSION)) == 'php')
  4.         include_once(H.'sys/add/umenu/'.$filebase);
  5. }

 

Powered by ExBB FM 1.0 RC1