@uaSaint что то можно придумать в одном единственном случае - если веб сервер запущен локально на компьютере клиента. В этом случае вы из PHP работаете с локальной файловой системой. Стандартные контролы не используются, делаете целиком свои интерфейсы для выбора файла, итд.
@grigor007 надо смотреть на конкретный профиль нагрузки. В целом да, можно если умеючи. Денормализованная база + шардирование запросов на уровне логики приложения. Поставить еще 10 серверов дешевле чем писать магию в коде. Вещи к которым доступ совсем часто - дублируются в redis.
Это только один из вариантов. Можно и в самом процессе данные хранить, ничуть не хуже вариант.
@Rchee Вам на будущее: + в регулярном выражении нужен что бы сказать что есть не менее 1 символа, ? после последнего слеша нужен т.к некоторые браузеры обрезают финальный слеш
@ArtKuz Рекурсивные функции надо использовать тогда, когда без них код становится сложен для понимания, например при обходе деревьев. Если задачу можно просто решить без рекурсии - её нужно решить без рекурсии.
@ArtKuz да. соберите 2й массив и скормите его array-diff. Он работает ОЧЕНЬ быстро.
Либо если у вас огромная база продуктов и огромная база исключений (не влазят в память) - положите это все в sql и проходите в простом цикле.