0

我正在将一个可怕的 drupal 站点迁移到一个新服务器 - 一个具有较新版本 PHP 的服务器。检查网站我收到以下错误:

已弃用:函数 ereg() 在 /var/sites/n/nanohex.org/public_html/includes/file.inc 的第 902 行已弃用

第 902 行如下所示:

elseif ($depth >= $min_depth && ereg($mask, $file)) {

我的理解是不再使用ereg,我需要用pregmatch替换。

更改以下代码...

 elseif ($depth >= $min_depth && preg_match('/\.([^\.]*$)/', $mask, $file)) {

而是抛出此错误:

警告:basename() 期望参数 1 是字符串,数组在 /var/sites/n/nanohex.org/public_html/includes/file.inc 第 905 行给出

第 905 行如下所示:

$basename = basename($file);

我究竟做错了什么?

4

1 回答 1

0

匹配项在数组中$file。您必须使用此数组中的第二个条目:

$basename = basename($file[1]);

但我猜你的 preg_match 应该是:

preg_match('/\.([^\.]*$)/', $file)

接着:

$basename = basename($file);

没关系。

preg_match 文档

于 2016-06-16T12:59:31.823 回答