PHP:give a file download responce

展示
public function question_attachment_downloadGo($tag, $md5e){
  # 验证是否登录
  $ok = $this->is_valid_login();
  if($ok['errcode'] === TRUE){
    // 获取当前登录用户id
    $openid = $ok['errmsg'];
    // 获取文件名
    $filename = input('param.name', 'file_from_bioinfinite_brbiotech');
    // 找一找
    $path = STORAGE_PATH . "question/attachment/$tag/$md5e";
    //记录did
    did_log("获取了附件 <a href='/question/attachment/$tag/$md5e'>$filename</a>", $openid);
    if (file_exists($path)) {
      header('Content-Description: File Transfer');
      header("Cache-Control: private");
      header('Content-Type: application/octet-stream');
      header('Content-Disposition: attachment; filename="'.$filename.'"');
      header('Expires: 0');
      header('Cache-Control: must-revalidate');
      header('Pragma: public');
      header("Content-Transfer-Encoding: binary");
      header('Content-Length: ' . filesize($path));
      flush();
      ob_end_flush();
      readfile($path);
      exit(0);
    }
  }
}

推荐阅读更多精彩内容