0

我目前有一个脚本,允许用户查看目录中的文件。我想知道如何使这些文件也可下载。我认为它与 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); 

?>

4

2 回答 2

0

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

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

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

其他可能性是您链接到文本文件并且浏览器需要打开而不是下载。您可以通过制作 php 脚本来修复,打开一个文件并使用标题“Content-Type:application/force-download”发送它

<?
$file_name = $_GET['file'];
header('Content-Type: application/force-download');
readfile($file_name);
?>
于 2012-05-31T11:21:13.020 回答
0

您的文件应该是可下载的。您可以使用丑陋的continue语句 过滤您的扩展,如下所示

 foreach (glob('*.{jpg,gif,zip,doc}', GLOB_BRACE) as $filename) {
        echo "<a href=".$filename." target='_blank'>".$filename."</a><br/>";
    }
于 2012-05-31T11:31:52.853 回答