我有一个代码可以读取目录中的文件。
但我正在使用ereg()
,
现在我在PHP 5.3上得到了一个弃用的错误。
在谷歌搜索后,有人说要用ereg()
替换perg_match()
。
但在用perg_math()
替换后,我收到了错误:
preg_match():没有结尾分隔符'。'结果
我不是PHP专家肯定解决这个问题。
$path = THEME_DIR.'/'.$path;
foreach(array_diff(scandir($path), array('.', '..')) as $f)
if (is_file($path . '/' . $f) && (('.php') ? ereg('.php' . '$' , $f) : 1))
$l[] = $f;
return $l;
答案 0 :(得分:2)
preg_match正则表达式应该在分隔符内..“/你的正则表达式/”..已弃用的POSIX正则表达式是不需要任何分隔符的那个...例如ereg(“)
所以只需将你的正则表达式改为
"/old regex/"
PHP regular expressions: No ending delimiter '^' found in 供参考
$path = THEME_DIR.'/'.$path;
foreach(array_diff(scandir($path), array('.', '..')) as $f)
if (is_file($path . '/' . $f) && (('.php') ? ereg('/.php' . '$/' , $f) : 1))
$l[] = $f;
return $l;