我正在将一个可怕的drupal站点迁移到一个新服务器 - 一个带有较新版本PHP的服务器。检查网站我收到以下错误:
不推荐使用:第902行/var/sites/n/nanohex.org/public_html/includes/file.inc中弃用了函数ereg()
第902行如下所示:
elseif ($depth >= $min_depth && ereg($mask, $file)) {
我的理解是不再使用ereg,我需要用pregmatch替换。
更改以下代码......
elseif ($depth >= $min_depth && preg_match('/\.([^\.]*$)/', $mask, $file)) {
反而引发了这个错误:
警告:basename()要求参数1为字符串,在第905行的/var/sites/n/nanohex.org/public_html/includes/file.inc中给出数组
第905行看起来像这样:
$ basename = basename($ file);
我做错了什么?
答案 0 :(得分:0)
匹配项位于数组$file
中。您必须使用此数组中的第二个条目:
$basename = basename($file[1]);
但我想你的preg_match应该是:
preg_match('/\.([^\.]*$)/', $file)
然后:
$basename = basename($file);
没问题。