velwind
Постоялец
- Регистрация
- 25 Май 2018
- Сообщения
- 52
- Реакции
- 22
Вот php запрос, который смотрит в директорию item и записывает наименования файлов в таблицу images_fn БД:
Скрипт запускаю через shell. Работает, конечно долго (в папке более 500 тыс. файлов), но свои функции выполняет.
Подскажите, как сделать так, чтобы в таблицу заносились наименования файлов без расширения (в моём случае все расширения .jpg)
И второй вопрос: В сканируемой папке есть подпапки. Как заставить скрипт сканировать их тоже?
PHP:
/** ... **/
$directory = new RecursiveDirectoryIterator("/home/item/");
$iterator = new RecursiveIteratorIterator($directory);
$regex = new RegexIterator($iterator, '/^(?P<basename>.+)\.(jpg|png|gif|jpeg)$/i', RecursiveRegexIterator::GET_MATCH);
foreach ($regex as $item) {
$a[] = $item;
}
/** ... **/
foreach ($a as $i => $match) {
$filename = $match[0];
$baseName = $match['basename'];
Будет работать если PHP версии 5.2.х и выше
В $baseName лежит имя файла без расширения, в $filename - полное имя
Последнее редактирование: