2012-04-12 66 views
1

我使用以下功能下載pdf文件時,它工作正常,當我從PC或筆記本電腦下載時,但當我點擊下載鏈接使用ipad時,它打開一個頁面,有很多特殊的字符和我我無法下載該文件。無法使用ipad下載pdf

我的下載功能是

public function download() { 
    $download_path = $_SERVER['DOCUMENT_ROOT'] . "/import"; 
$filename = $_GET['file']; 
    $file = str_replace("..", "", $filename); 
    $file = "$download_path/$file"; 
if (!file_exists($file)) 
     die("Sorry, the file doesn't seem to exist."); 
    $type = filetype($file); 
    header("Content-type: $type"); 
    header("Content-Disposition: attachment;filename=$filename"); 
    header('Pragma: no-cache'); 
    header('Expires: 0'); 
    readfile($file); 
} 

關於此錯誤的任何想法?

+0

確保字符集匹配 – 2012-04-12 12:30:22

+0

字符集應該是什麼?我正在使用utf-8 – 2012-04-12 12:32:11

+0

確保這就是您的iPad所看到的。 – 2012-04-12 12:32:29

回答

3

這可能是這個問題:

$type = filetype($file); 
header("Content-type: $type"); 

manual

可能的值是FIFO,焦炭,目錄,塊,鏈接,文件,插座和 未知。

哪些不是你想要在標題中看到的東西。您可能正在尋找:

header('Content-type: application/pdf'); 
+0

我應該用你建議的內容替換內容類型嗎? – 2012-04-12 12:41:59

+0

對於pdf:是的。 – Nanne 2012-04-12 12:57:16

+0

非常感謝:) – 2012-04-12 13:01:47