PHP: как вывести определённое количество файлов (например, картинок) из каталога?
Это код модели:
public function getFiles(array $params = []) : array
{
$path = '../Public/img/';
$files = scandir($path);
if (isset($params['limit'])) {
$files = " " . $params['limit'];
}
if (isset($params['offset'])) {
$files = " " . $params['offset'];
}
return $files;
}
Это контроллер:
public function listFiles(HTTPRequest $req): void
{
$limit = 5;
$page = $req->getData('page');
$itemsTotal = $this->fileManager->count();
$paginator = new \App\Model\Paginator('/admin/listFiles', $page, $limit, $itemsTotal);
$offset = $paginator->offset();
$files = $this->fileManager->getFiles([
'limit' => $limit,
'offset' => $offset
]);
$this->show('../App/View/listFiles.php', compact('files', 'paginator'));
}
А это вид:
<?php foreach ($files as $file) : ?>
<?php $file_l = strtolower($file) ?>
<?php if ($file != "." && $file != "..") : ?>
<?php if (strpos($file_l, '.jpg') > 0) : ?>
<img src="../Public/img/<?= $file ?>" alt="" />
<?php endif ?>
<?php endif ?>
<?php endforeach ?>
Собственно, проблема в том, что выводит всё сразу, пагинация создаётся из ссылок на 5 страниц (как limit). Что я делаю не так?