写一个 php代码,自动生成目录视频数据(以文件名为标题,以文件名搜索相关封面图),分页显示封面缩略图页面,每页10项目
时间: 2024-02-22 10:01:03 浏览: 137
好的,以下是一个简单的 PHP 代码,用于自动生成目录视频数据并分页显示封面缩略图页面:
```php
<?php
// 定义目录路径
$dir = '/path/to/videos/';
// 扫描目录并获取文件列表
$files = scandir($dir);
// 初始化视频数据数组
$videos = array();
// 遍历文件列表
foreach ($files as $file) {
// 如果是视频文件
if (preg_match('/\.(mp4|avi|mov)$/', $file)) {
// 获取文件名作为标题
$title = basename($file, '.' . pathinfo($file, PATHINFO_EXTENSION));
// 使用文件名搜索相关封面图
$thumbnail = 'https://example.com/thumbnails/' . str_replace(' ', '+', $title) . '.jpg'; // 这里的 URL 需要根据实际情况进行修改
// 将视频数据添加到数组中
$videos[] = array(
'title' => $title,
'thumbnail' => $thumbnail
);
}
}
// 获取当前页码
$page = isset($_GET['page']) ? max(intval($_GET['page']), 1) : 1;
// 每页显示的项目数
$per_page = 10;
// 计算总页数
$total_pages = ceil(count($videos) / $per_page);
// 获取当前页的视频数据
$offset = ($page - 1) * $per_page;
$videos = array_slice($videos, $offset, $per_page);
// 输出视频缩略图列表
echo '<div class="thumbnails">';
foreach ($videos as $video) {
echo '<div class="thumbnail">';
echo '<a href="https://example.com/videos/' . urlencode($video['title']) . '.mp4"><img src="' . $video['thumbnail'] . '" alt="' . $video['title'] . '"></a>';
echo '<h3>' . $video['title'] . '</h3>';
echo '</div>';
}
echo '</div>';
// 输出分页链接
if ($total_pages > 1) {
echo '<div class="pagination">';
for ($i = 1; $i <= $total_pages; $i++) {
if ($i == $page) {
echo '<span>' . $i . '</span>';
} else {
echo '<a href="?page=' . $i . '">' . $i . '</a>';
}
}
echo '</div>';
}
?>
```
上述代码假设视频文件存储在 `/path/to/videos/` 目录下,缩略图存储在 `https://example.com/thumbnails/` 地址下,每个视频文件的封面图文件名为视频文件名加 `.jpg` 后缀。可以根据实际情况进行修改。
阅读全文