【问题标题】:php turn files in directories to href linksphp将目录中的文件转为href链接
【发布时间】:2014-12-26 22:08:08
【问题描述】:

我正在使用以下代码列出目录/子目录文件:

 <div class="container">
 <div class="row">
 <?php
    function listFolderFiles($dir)
    {
        $ffs = scandir($dir);
        echo '<ol>';
        foreach($ffs as $ff)
        {
            if($ff != '.' && $ff != '..')
            {
                echo '<li>'.$ff;
                if(is_dir($dir.'/'.$ff))
                {
                    listFolderFiles($dir.'/'.$ff);
                }
                echo '</li>';
            }
        }
        echo '</ol>';
    }
    listFolderFiles('exportReports');
   ?>
   </div>
   </div>

我现在需要做的是将每个目录中的所有文件都变成用户可以点击和下载的href链接。

当我在带有开头“li”标签的 echo 语句中添加“a”标签时,它会将所有目录和文件转换为链接。我不想要这个。每个目录中的实际文件需要是一个链接。

文件既是 .txt 文件,也是 .html 文件。

请帮忙。

【问题讨论】:

  • 听起来你只是没有关闭你的&lt;a&gt; 标签,它会将它之后的所有内容都包含在同一个&lt;a&gt; 标签中。 echo "&lt;li&gt;&lt;a href='$dir/$ff'&gt;$ff&lt;/a&gt;";
  • @JonathanKuhn,我确定关闭“a”标签,就像你上面列出的那样。但是,它仍然使所有目录和文件超链接。有什么想法吗?
  • 那你需要多解释一下你在说什么。你说你“它把所有的目录和文件都变成了链接”,但你不希望这样,你希望“每个目录中的文件文件成为一个链接”。那不是一样的吗?你想要链接,但你不想要链接?也许是你想要的输出的一个例子。
  • 为什么不使用glob() 过滤掉你不想要的?甚至是 DirectoryIterator。
  • @JonathanKuhn,嗯,不是故意粗鲁,而是在我的代码下面,我说,“我现在需要做的是将每个目录中的所有文件都转换为 href 链接......”这还不够具体吗???

标签: php html download directory


【解决方案1】:

试试这个:

function listFolderFiles($dir)
    {
        $ffs = scandir($dir);
        echo '<ol>';
        foreach($ffs as $ff)
        {
            if($ff != '.' && $ff != '..')
            {
                echo '<li>';
                if(is_dir($dir.'/'.$ff))
                {
                    echo $ff;
                    listFolderFiles($dir.'/'.$ff);
                } else {
                    echo "<a href='$dir/$ff'>$ff</a>";
                }
                echo '</li>';
            }
        }
        echo '</ol>';
    }

【讨论】:

  • 谢谢你,塞尔吉奥·梅斯基塔。这正是我想要的。
猜你喜欢
  • 2019-03-24
  • 2013-11-05
  • 1970-01-01
  • 2017-07-31
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
相关资源
最近更新 更多