为什么叫强制下载 因为你点击你的PDF文件路劲的话 浏览器是默认字网页上打开,而不是下载
我们需要做的就是 修改header头信息 使其变为下载状态
//下载PDF
public function forceDownload() {
$param = input('param.');
if(!empty($param['enclosure'])){
$filename = ROOT_PATH.'public'.DS.'uploads'.DS.$param['enclosure'].'.pdf';//此处是PDF文件路径,ROOT_PATH是配置服务器时设置的常量,每个服务器的应该都不一样,视情况而定
}else{
$this->error('没有PDF文件');
}
// dump($filename);exit;
if (false == file_exists($filename)) {
$this->error('找不到文件');
} // http headers
header('Content-Type: application-x/force-download');
header('Content-Disposition: attachment; filename="' . basename($filename) .'"');
header('Content-length: ' . filesize($filename)); // for IE6
if (false === strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6')) {
header('Cache-Control: no-cache, must-revalidate');
}
header('Pragma: no-cache'); // read file content and output
return readfile($filename);;
}