我怎样才能制作一个自动生成我文件夹文件链接的php脚本

时间:2018-04-06 14:55:24

标签: php

我想为我的网站制作一个自动生成链接的脚本, 我将把我的所有文件放在一个文件夹中,我希望这些文件将显示在一个网页中,并且可以下载。 请帮忙......

2 个答案:

答案 0 :(得分:1)

您可以使用GLOB()按字母顺序为目录中的所有文件创建一个数组,然后使用foreach()循环将其回显:

<?php
    $folder = 'download/';
    $files = GLOB($folder . '*{.*}', GLOB_BRACE);
    foreach ($files as $file) {
        echo '<a href="'.$file.'" download>'.basename($file).'</a>';
    }
?>

如果您只想列出具有特定扩展名的文件:

<?php
    $folder = 'download/';
    $file_types = array(
        'doc',
        'pdf',
        'txt'
    );

    $files = GLOB($folder . '*{.' . implode(',.',$file_types) . '}', GLOB_BRACE);
    foreach ($files as $file) {
        echo '<a href="'.$file.'" download>'.basename($file).'</a>';
    }
?>

将它们放在无序列表中:

    $files = GLOB($folder . '*{.' . implode(',.',$file_types) . '}', GLOB_BRACE);
    echo '<ul>';
    foreach ($files as $file) {
        echo '<li><a href="'.$file.'" download>'.basename($file).'</a></li>';
    }
    echo '<ul>';

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

li {
  padding: 8px 15px;
  float: left;
  margin-right: 15px;
  width: 200px;
  text-align: center;
  color: #333;
}

li:nth-child(odd) {
  background-color: #e6e6e6;
}

li:nth-child(even) {
  background-color: #f2f2f2;
}
<h2>Download Folder Listing</h2>
<ul>
  <li><a href="file1.txt" download>file1.txt</a></li>
  <li><a href="file2.txt" download>file2.txt</a></li>
  <li><a href="file3.txt" download>file3.txt</a></li>
  <li><a href="file4.txt" download>file4.txt</a></li>
  <li><a href="file5.txt" download>file5.txt</a></li>
</ul>

答案 1 :(得分:0)

我不确定你真正想要的是什么。

但如果仅供您使用:

安装apache服务器

将所有文件放在apache中的文件夹中

不要将任何index.html放在此文件夹中

转到http://localhost/nameOfYourFolder

如果您不尝试某些问题并提出真正的问题,我们无法为您提供更多帮助