/** * Action getfile * download file * 文件下载action */ public function actionGetfile() { if (Yii::$app->request->isGet) { $file_id = $_GET['file_id']; $file = UserFile::findOne($file_id); $logService = new LogService(); $logService->downloadLog($file_id); Header("Content-type: " . $file->filetype); Header("Accept-Ranges: bytes"); Header("Accept-Length: " . $file->length); Header("Content-Disposition: attachment; filename=" . $file->filename); /* Header("Content-Disposition: attachment; filename=".$model->filename); header("Content-Transfer-Encoding:binary"); header('Content-Length:'.$model->filesize); header('Content-type:'.$model->filetype); header('Expires:0'); header('Content-Type:application-x/force-download');*/ $fp = $file->file->getResource(); fseek($fp, 0); while (!feof($fp)) { set_time_limit(0); echo fread($fp, 1024); flush(); ob_flush(); } fclose($fp); } }