2012-09-18 83 views
1

我已將.pdf,.doc,.txt文件存儲在Web服務器的目錄中。我能夠顯示目錄內存儲的所有文件,但下載失敗。每次我點擊超鏈接sample.txt獲取與空白內容下載。請查看代碼並提出建議。顯示存儲在服務器中的pdf文件並使用php下載它

這是我使用什麼show_directory.php

<?PHP 
    // Define the full path to your folder from root 
    $path = "/public_html/bc/upload/"; 

    // Open the folder 
    $dir_handle = @opendir($path) or die("Unable to open $path"); 

    // Loop through the files 
    while ($file = readdir($dir_handle)) { 

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

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


    } 
    // Close 
    closedir($dir_handle); 
?> 

download_file.php的內容是:

<?PHP 
//download.php 
//content type 
header('Content-type: text/plain'); 
//open/save dialog box 
header('Content-Disposition: attachment; filename="sample.txt"'); 
//read from server and write to buffer 
readfile('test.txt'); 
?> 

回答

0
.... 
header('Content-Description: File Transfer'); 
header('Content-type: application/octet-stream'); 
header('Content-Disposition: attachment; filename="' . 'test.txt' . '"'); 
header('Content-Transfer-Encoding: binary'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate'); 
header('Pragma: public'); 
readfile('test.txt'); 
.... 

你爲什麼不使用二進制?

+0

這沒有幫助,看看我有2個文件名爲abc.doc&xyz.pdf保存在$ path =「/ public_html/bc/upload /」中,我正在使用循環顯示這兩個文件echo「 $file
「;顯示部分正常工作,但我無法下載文件。按照您在代碼中建議的方式使用二進制文件後,當我點擊它時,會下載一個名爲test.txt的空白文本文件。 – amrit999

相關問題