迁移站点:ereg 到 preg_match?
Migrating a site: ereg to pregmatch?
我正在将一个糟糕的 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 为字符串,第 905 行 [=12= 中 /var/sites/n/nanohex.org/public_html/includes/file.inc 中给出的数组]
第 905 行如下所示:
$basename = basename($file);
我做错了什么?
匹配项在数组 $file
中。您必须使用此数组中的第二个条目:
$basename = basename($file[1]);
但我猜你的 preg_match 应该是:
preg_match('/\.([^\.]*$)/', $file)
然后:
$basename = basename($file);
可以。
我正在将一个糟糕的 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 为字符串,第 905 行 [=12= 中 /var/sites/n/nanohex.org/public_html/includes/file.inc 中给出的数组]
第 905 行如下所示:
$basename = basename($file);
我做错了什么?
匹配项在数组 $file
中。您必须使用此数组中的第二个条目:
$basename = basename($file[1]);
但我猜你的 preg_match 应该是:
preg_match('/\.([^\.]*$)/', $file)
然后:
$basename = basename($file);
可以。