什么是在PHP中显示下载文件的好方法
问题描述:
答
嗯,你可以做这样的事情:
<?php
function printDir($d="") {
$c = glob($d."*",GLOB_MARK);
echo "<li>".($d == "" ? "ROOT" : array_pop(explode("/",substr($d,0,-1))))."<ul>";
foreach($c as $x) {
if(substr($x,-1) == "/") printDir($x);
else echo "<li><a href=\"".$x."\">".array_pop(explode("/",$x))."</a></li>";
}
echo "</ul></li>";
}
echo "<ul>";
printDir();
echo "</ul>";
?>
这将打印当前文件夹的内容,链接到各个文件中找到,也搜索子文件夹递归。
+0
谢谢Kolink。问题是该目录不能公开访问。那么如何让用户从该位置下载。我需要制作临时副本吗? – user825904
+0
在url的开头添加“download.php”:''然后那个download.php文件可以简单地调用' readfile($ _ GET ['file'])'(设置适当的头文件后) –
答
如果您使用的是Apache,您可以通过允许索引生成来完成。行
Options +Indexes
添加到.htaccess
文件下载目录中(你也可以设置Apache的配置文件,此选项)。
请添加您试图达到目标的代码片段。这样,我们更容易发现问题并给出建设性答案。如果没有你的代码,我们能做的最好的就是给出合理的猜测。 – Bazzz