HackOwnB: Да в принципе код как код. Я бы, может, только вынес echo за foreach, а внутри просто делал конкатенацию и собирал все в одну переменную типо $trs. Но это опционально. И пробуйте обходиться без подавления ошибок (@$filesize), то есть делайте доп. проверки.
EvgMul: Ок, есть вариант сделать сделать сложнее - получаете список всех файлов и дальше ajax-ом отправляете на php-файл запрос на скачивание файлов поштучно: один скачался, дергаете второй. Минус в том, что это все будет в браузере, плюс - что умереть это может только в случае, если один конкретный файл будет скачиваться дольше 180 сек.
Если есть опция использовать multi_curl, но, есть у меня подозрение, что на хостинге вашем скрипт помрет из-за чрезмерного расходования памяти.
RushV: скрипт с гарант-ком вам нужен лишь для ознакомления. В футере своего сайта подключаете сначала jQuery, потом либо в отдельный js файл либо прямо тут подвале (на время теста) вписываете тот код, что я дал выше. И тестируете, поглядывая в Console браузера - будут там ошибки или нет.
Вот тут https://jsfiddle.net/pfsq3L5v/ я проверил свой код и он работает. Главное порядок - сначала jQuery, потом все остальное. Удачи.
Мария Попова: Надо смотреть весь код. Чудес не бывает - будь все везде нормально, проблемы бы у вас не было. Советовать можно что угодно - начиная от апгрейда самой owl carousel, заканчивая рефакторингом или переписыванием всего js.
2pa: В браузере такое тестировать не стоит. Есть для этого IDE, на крайний случай делайте вывод в файл $dmp = print_r($rs, true); и дальше сохраняйте $dmp в файл тем же file_put_contents();
Григорий: и для простоты - используйте foreach вместо for
foreach($files as $file)
{
// echo ....
}
Если хотите оставить for, то count($files) вынесите до for, то есть
$count = count($files);
for($i = 0; $i < $count; $i++)
{...}
Григорий: потому что вы оставили var_dump($files) - это просто информация для дебага, чтобы показать, что в массиве есть данные. Закомментируйте //var_dump($files); и оставьте только вывод через echo.
2pa: вам надо четко локализовать проблему. Безо всяких аякс-запросов просто в php файле проверьте ваш запрос и как только поймете, что PDO выдает вам то, что вы ожидаете и как только формирется нужный html-кусок вывода, то потом уже смотрите в сторону js-кода и его обработки. Тестируйте по частям.