2012-05-31 24 views
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); 

?>

+0

你的文件不應該已經下載嗎? –

+0

不幸的是,他們不是。不完全確定原因 – user1371500

回答

0

你需要知道文件的完整路徑。

所以,如果你有服務器的根路徑/家庭/ phpprac/,您的路徑是/assesment,你需要寫鏈接:

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

其他posibility是您鏈接到文本文件和瀏覽器ust打開,而不是下載。您可以通過PHP腳本修復,whitch打開一個文件,並用頭發送「內容類型:應用程序/力下載」

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

你的文件應該下載。你可以像下面一樣過濾你的擴展名,使用醜陋continue聲明

foreach (glob('*.{jpg,gif,zip,doc}', GLOB_BRACE) as $filename) { 
     echo "<a href=".$filename." target='_blank'>".$filename."</a><br/>"; 
    }