如何使用 css php 和 html 显示多个文件以供下载?



我还在学习PHP,我已经编写了一个代码来显示当用户单击文件名时应该下载的文件。我需要将文件显示在一个表中,该表具有带有文件标题上传日期大小等标题的列。如何以这种方式显示?

这是我的代码

<table id="t02" width="90%" border="1px" cellpadding="5" align="center">
<th>
Title
</th>
<th>
Uploaded Date
</th>
<th>
File Size
</th>
<?php
if ($handle = opendir('uploads/it/hnd/')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
// echo '<a href="/prac/admin/">'.$entry.'</a>'."<br>";
echo "<tr>";
echo "<td>";
echo '<a href="uploads/it/hnd/'.$entry.'"' .'download="'.$entry.'">'.$entry.'</a>'.'</td>';       

}
}
closedir($handle);
}
?>

</table>

<table id="t02" width="90%" border="1px" cellpadding="5" align="center">
<tr>
<th>Title</th>
<th>Uploaded Date</th>
<th>File Size</th>
</tr>
<?php
$files = glob('uploads/it/hnd/*');
foreach($files as $file){
echo '<tr>';
echo '<td><a href="'.$file.'" download="'.$file.'">'.$file.'</a></td>';
echo '<td>'.date('d M Y [H:i:s]', filemtime($file)).'</td>';
echo '<td>'.filesize($file).' bytes</td>';
echo '</tr>';
}
?></table>
  • 该表的格式最好使用完整的行和结束标记。
  • glob()会很快为您提供文件列表。
  • filesize()将返回文件的大小(以字节为单位(。
  • 我正在使用filemtime()来获取文件的上次修改时间。 我假设这足以满足您的需求。 如果没有,您可能需要在数据库中存储实际上传时间以供检索,因为文件系统不理解该概念。 我正在用date()格式化结果。 一个例子是:02 Jan 2018 [06:15:27].

我建议使用 PHP.net,这是一个非常方便的资源。

最新更新