无法使用ipad下载pdf

时间:2012-04-12 12:25:35

标签: php ipad codeigniter

我正在使用以下功能下载pdf文件,当我从PC或笔记本电脑下载时工作正常但是当我点击使用ipad的下载链接时,它会打开一个包含许多特殊字符的页面,我无法下载文件。

我的下载功能是

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);
}

有关此错误的任何想法?

2 个答案:

答案 0 :(得分:3)

这可能是个问题:

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

来自manual

  

可能的值是fifo,char,dir,block,link,file,socket和   未知的。

您希望在标题中看到哪些内容。您可能正在寻找:

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

答案 1 :(得分:1)

您可能需要 finfo_file() 而不是filetype()