为什么叫强制下载 因为你点击你的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);; }