强制下载PDF文件的问题

时间:2011-01-23 23:12:57

标签: php pdf force-download

我有以下功能强制下载文件:

static public function download($file, $options=array()) {
    $content = (isset($options['content'])) ? $options['content'] : '';
    $contentType = (isset($options['contentType'])) ? $options['contentType'] : '';
    header('Cache-Control: public');
    header('Content-Description: File Transfer');
    header('Content-Disposition: attachment; filename='.File::filename($file));
    header('Content-Type: '.$contentType);
    header('Content-Transfer-Encoding: binary');
    if ($content!='') {
        echo $content;
    } else {
        readfile($file);
    }
}

我发送PDF文件和contentType =“application / pdf”。 问题是,当我尝试打开下载的PDF文件时,它显示“打开此文档时出错。文件可能已损坏”。 很奇怪,因为我可以打开原始文件,它们看起来完全一样(文件名,大小等)

1 个答案:

答案 0 :(得分:1)

确保在运行此函数之前没有输出,并且为了更好地衡量,请使用此函数末尾的exit结构:)