PHP错误:“在第260行的/index.php中弃用了函数eregi()”

时间:2013-02-11 07:56:48

标签: php deprecated eregi

在PHP中,我收到以下错误:

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;
}

2 个答案:

答案 0 :(得分:1)

来自PHP documentation

  自PHP 5.3.0起,不推荐使用eregi()。带有i(PCRE_CASELESS)修饰符的preg_match()是建议的替代方法。

请替换您的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以便在正则表达式中使用。

答案 1 :(得分:1)

ereg函数系列是为较旧版本的PHP设计的,在PHP 5.3中是deprecated。你必须将它们转换为preg。您可以按照此tutorial进行操作。也请点击How can I convert ereg expressions to preg in PHP?