Как можно эффективно разделить функцию, которая участвует в генерации страницы, собирает шаблон и проверяет вложенные файлы по 50 штук за раз, чтобы избежать ошибок, возникающих из-за одновременного выполнения двух задач одной функцией?
Для выполнения разных задач с одной функцией можно использовать параметры функции или условные конструкции, которые позволят функции выполнять различные действия в зависимости от входных данных. Для того чтобы разделить функцию, которая участвует в генерации страницы, собирает шаблон и проверяет вложенные файлы по 50 штук за раз, можно использовать механизм пакетной обработки. Например, можно добавить параметр в функцию, который будет определять количество файлов, которые нужно обработать за один раз. Затем внутри функции можно использовать циклы или рекурсию для обработки файлов по заданному количеству. Таким образом, можно избежать ошибок, возникающих из-за одновременного выполнения двух задач одной функцией, разделяя задачи на более мелкие части и обрабатывая их поочередно.
Если PHP работает под веб-сервером он выполняется синхронно в один поток, допустим он проверяет вложения и выдает ошибки. Вы отключили эту проверку и ошибок нет. Проверять после отдачи страницы это допустим в конце кода запустить скрипт exec в режиме cli без ожидания ответа - вот собственно вы и разделили, но зачем запускать эту проверку после отдачи страницы да еще и каждый раз и без получения результата - это хороший вопрос.
Можно проверять синхронно и не выдавать ошибки. Вообщем не понятно - что и для чего делается. Еще можно послать аякс после загрузки и получить результат проверки.