2013-02-11 1 views
0

В PHP, я получаю следующее сообщение об ошибке:PHP Ошибка: "Функция eregi() является устаревшим в /index.php в строке 260"

Deprecated: Function eregi() is deprecated in /index.php on line 260 

Код является:

if ($file != "." && $file != ".." && 
    !eregi(".jpg".$thumbext."$",$file) && eregi(".jpg$",$file)) 
{ 
    $mtime = filemtime($photodir."/".$file); 
    $nphotos[$mtime] = $file; 
} 
+1

Пожалуйста, прочитайте это: - ** Http: //stackoverflow.com/questions/737198/good-alternative-to-eregi-in-php** –

+0

возможно дубликат [Function eregi () устарел] (http://stackoverflow.com/questions/5700806/function-eregi-is-deprecated) – deceze

ответ

1

С PHP documentation:

eregi() is deprecated as of PHP 5.3.0. preg_match() with the i (PCRE_CASELESS) modifier is the suggested alternative.

Так заменить eregi звонки:

if ($file != "." && $file != ".." && !eregi(".jpg".$thumbext."$",$file) && eregi(".jpg$",$file)){ 

по preg_match():

if ($file != "." && $file != ".." 
    && !preg_match("/\.jpg". preg_quote($thumbext)."$/i",$file) 
    && preg_match("/\.jpg$/i",$file)){ 

Обратите внимание, что я использую preg_quote() подготовить $thumbext для использования в регулярном выражении.

+0

Я пытаюсь ур код, но эта ошибка наступает Предупреждение: preg_match() [function.preg-match]: Неизвестный модификатор ' j 'in /index.php в строке 260 Предупреждение: preg_match() [function.preg-match]: Без конечного разделителя'. ' найдено в /index.php в строке 261 – user1796164

+0

@ user1796164 Извините. Проверьте мое обновление – hek2mgl

+0

теперь отлично работает благодаря вам так дорого – user1796164