2014-11-22 150 views
0

我已經使用下面的代碼在PHP中下載我的PDF文件。PDF文件下載錯誤PHP

我的問題是當我下載文件時顯示錯誤不支持文件類型HTML文件(文本/ HTML)。如果我直接從服務器下載,它可以打開。請解決我的問題。

$path = ""; 


if (is_readable ($Path)) { 
$fsize = filesize($Path); 
$path_parts = pathinfo($Path); 
$ext = strtolower($path_parts["extension"]); 
switch ($ext) { 
    case "pdf": 
    header("Content-type: application/pdf"); // add here more headers for diff.  extensions 
    header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\"");  
    break; 
    default: 

} 
header("Content-length: $fsize"); 
header("Cache-control: private"); //use this to open files directly 
readfile($Path); 

} else { 
     die("Invalid request"); 
} 

回答

1

您的代碼似乎是正確的,除了一個錯誤。 PHP變量區分大小寫。

將$ path變量更正爲$ Path。

而且還交叉檢查目錄和文件權限。

+0

你好朋友我糾正了它仍然是一樣的錯誤。不支持文件類型HTML文件(文本/ html)。 – amit 2014-11-22 08:36:38

+0

它完美的工作在Ubuntu上,你正在使用的操作系統? – Nick 2014-11-22 08:41:43

+0

我使用的是linux mint操作系統。我正在PHP上傳文件。我可以在我的服務器上成功上傳,但是當我嘗試通過我的網站下載時,它也可以下載,但無法打開。但如果我直接從cpanel下載它,那麼它可以很容易地打開。 – amit 2014-11-22 08:47:45