从目录中查看和下载文件

时间:2012-05-31 11:10:27

标签: php

我目前有一个脚本,允许用户查看目录中的文件。我想知道如何使这些文件也可以下载。我认为它与index.php有关,但不确定。我认为我最好只检查并澄清我的脚本如下。

        <?php

$path = "/home/phpprac/assesment"; 


$dir_handle = @opendir($path) or die("Unable to open $path"); 


while ($file = readdir($dir_handle)) { 

if($file == "." || $file == ".." || $file == "index.php" ) 

    continue; 
    echo "<a href=\"$file\">$file</a><br />"; 

} 
// Close 
closedir($dir_handle); 

&GT;

2 个答案:

答案 0 :(得分:0)

您需要知道文件的完整路径。

因此,如果你有服务器根路径 / home / phpprac / ,你的路径是 / assesment ,你需要写链接:

echo "<a href=\"/assesment{$file}\">$file</a><br />";

其他可能性是您链接到文本文件和浏览器打开而不是下载。你可以修改php脚本,whitch打开一个文件并用标题'Content-Type:application / force-download'发送它

<?
$file_name = $_GET['file'];
header('Content-Type: application/force-download');
readfile($file_name);
?>

答案 1 :(得分:0)

您的文件应该可以下载。您可以使用丑陋的continue声明

过滤下面的扩展程序
 foreach (glob('*.{jpg,gif,zip,doc}', GLOB_BRACE) as $filename) {
        echo "<a href=".$filename." target='_blank'>".$filename."</a><br/>";
    }