preg_match и Динамический pattern

107
09 февраля 2021, 22:30

Вообщем есть такая функция:

preg_match('/' . $guid['guid'] . '\_[а-яА-Я\w]+/', $entry)

Думаю основная суть понятна она ищет файлы в так скажем строке однако при передаче в $guid['guid'] вот такой строки УТ007569. То она не видит похежести при сравнении с такой строкой УТ007569_SkazkUgolokOtchestvo.xlsx. Она просто не срабатывает я получаю false, но если вставить данный guid статично то всё сработает. Вопрос, как это починить чтобы работало. Вот код который у меня целиком:

public function getFile($guid) {
    $arr = [];
    if ($handle = opendir($_SERVER['DOCUMENT_ROOT'] . '/upload/client_files')) {
        $i = 0;
        while (false !== ($entry = readdir($handle))) {
            if (preg_match('/' . $guid['guid'] . '\_[а-яА-Я\w]+/', $entry)) {
                $file_name1 = explode("_", $entry);
                array_shift($file_name1);
                $file_name = implode("_", $file_name1);
                $arr[$i]['name'] = $file_name;
                $arr[$i]['href'] = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['SERVER_NAME'] . '/upload/client_files/' . $entry;
                $i++;
            }
        }
        closedir($handle);
    }
    return $arr;
}
READ ALSO
Найти изменения в новой версии файла

Найти изменения в новой версии файла

Есть две версии файла, старая и новаяНужно найти изменения и записать новые строки в базу данных

131
Не отображается div на сайте

Не отображается div на сайте

Не отображается div на странице, что бы не пытался сделатьПричем в index точно такой же код отображается как обычно

126
Это pluggable функция

Это pluggable функция

Мне нужно использовать функцию check_ajax_referer() в плагине для проверки переданного значения, но в описании пишется:

107