如何使用CSS PHP和HTML显示多个文件以供下载?

时间:2018-08-31 22:04:43

标签: php html css

我仍在学习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>

1 个答案:

答案 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,这是非常方便的资源。