Миграция сайта: есть необходимость в предварительном матче?

Я нахожусь в процессе миграции ужасного сайта 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);

Что я делаю неправильно?

0

Решение

Совпадения в массиве $file, Вы должны использовать вторую запись в этом массиве:

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

Но я думаю, ваш preg_match должен быть:

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

а потом:

$basename = basename($file);

все в порядке.

preg_match doc

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]