Поэтапное | Ограниченное сканирование файлов на PHP

Для обработки файлов, которых довольно много, задумал я сделать "поэтапное" сканирование файлов. Задача такая: надо получить список из нескольких файлов, скажем из первых ста файлов, проверить каждый файл в БД, затем перейти к получению следующей сотке файлов. И так, пока все файлы не будут проверенны.

К сожалению, для сканирования файлов нет оператора LIMIT, как в MySQLi, по этому можно получить только все содержимое папки, с подпапками, либо без них... А было бы удобно иметь LIMIT.

Я уже думал о том, чтобы получать все файлы разом, затем разбивать их на группы и работать по группам (Блог: Как получить первые | последние несколько элементов массива на PHP), но опять же, сканирование будет производиться всех файлов сразу, а файлов очень много. Не подходил мне этот вариант.

Тогда пришла в голову идея: разделить все файлы по папкам, такого вида:
2023/9/11/
2022/7/5/
2022/4/21/

Папки именовались "годом > месяцем > днем" - в какой день загружен файл, в ту папку и попадает.
Теперь я могу получать содержимое каждой папки, по отдельности.

Во первых получаем список всех папок массивом, например: $folders:
Array
(
	[0] => 'file/2018/8/2/',
	[1] => 'file/2018/8/5/',
	[2] => 'file/2019/4/8/',
	[3] => 'file/2022/11/7/',
	[4] => 'file/2023/2/15/',
	...
)

Теперь получаем файлы с каждой папки, по отдельности, например, так:
$files = scandir($folders[$n]);

Где $n номер (Ключ) директории, от куда надо получить файлы.

Я добавил в крон задание: выполнять получение файлы из одной папки, по очереди, каждые пять секунд. Значение $n, после каждого выполнения становится на один больше:
$n++;

Как будут обработаны файлы из последней папки, метод вернет true и задание будет удалено из крона:
if ($folders[$n] == end($folders))
{
	return true;
}
На одном форуме мне подсказали: если файлы имеют похожие названия, разница лишь в их ID, например:
file-1.txt
file-2.txt
file-3.txt
file-4.txt
file-5.txt

То тут просто прогоняем через цикл, с установленным началом и лимитом:
$beginning = 0;
$limit     = 100;
$end       = $beginning + $limit;

for ($i = $beginning; $i < $end; $i++)
{
	$file = 'file-' . $i . '.txt';
	// Работаем с файлом ($file)
}

Вот и все. Данный вариант удобен. Но мне не подходит, так как у меня файлам даются рандомные названия.