我仍在学习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>
答案 0 :(得分:1)
<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,这是非常方便的资源。