Как загрузить *.db файл в sqlite3, если его точное имя заранее не известно?

123
05 мая 2019, 10:10

Проблема следующая: мне необходимо, чтобы подключение происходило к любому найденному sqlite файлу в каталоге, но вот эта конструкция:

define('DB_NAME','*.db');

не работает. Работает только такая конструкция, т. е. если имя файла известно:

define('DB_NAME','dbname.db');

Как подсказать скрипту, что подключаться следует к любому файлу с расширением .db?

Дополнение:

Вот код, который должен работать с базой:

if(file_exists(DB_NAME)) {
    $db = new SQLite3(DB_NAME);
} 
else {
    header('Location: install.php');
    exit();
}

Здесь, если файл базы не обнаружен, то происходит редирект на скрипт создающий его, имя которого вводится в input (по этому имя не известно заранее, абстрактное).

Answer 1

Вам поможет функция glob. Найдите подходящие файлы и подключайтесь.

$baseDir = __DIR__ . '/db';
$databases = glob($baseDir . '/*.db');
var_dump($databases);
READ ALSO
gcc заставляет использовать 11 стандарт?

gcc заставляет использовать 11 стандарт?

В gcc возникает странная ошибка, когда пытаюсь скомпилировать этот кодВ clang такого нет

160
Ошибка с выводом-вводом

Ошибка с выводом-вводом

Есть такой кусок кодаПроблема в том, что когда выводится "ФИО: ", то он почему-то переходит на новую строку

147
Как прочитать данные с файла fstream

Как прочитать данные с файла fstream

есть файл inputtxt, в нем три строки, данные из первой строки этого файла нужно передать переменной int n, на первой строке только одна цифра

138