Heim > Artikel > Backend-Entwicklung > Das Problem beim Herunterladen der Header-Implementierungsdatei
Sie müssen auf die Schaltfläche klicken, um die Informationen zu erhalten und den Inhalt in Form einer Datei herunterzuladen.
Aber jetzt öffnet ein Klick auf die Schaltfläche ein neues Fenster und zeigt den Inhalt an, anstatt ein Download-Fenster aufzurufen.
Der Code lautet wie folgt:
<code>$filename = $this->input->cookie('merchant_id'); $timestamp = date("YmdHis",time()); $filename .= $timestamp.'.'.$fileType; $title = mb_convert_encoding($title,'gbk','utf-8'); header('Content-type: application/octet-stream'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Content-Disposition: attachment; filename=' . $filename); echo $title; $ret = $this->download_model->QueryList($Req, $Resp); $content = $this->GetDownLoadContentNew($ret['bill_list'], $fileType); echo $content; </code>
Unter anderem formatiert GetDownLoadContentNew den Inhalt entsprechend.
Sie wissen nicht, was los ist oder haben nichts bemerkt? Ich hoffe, Sie können mir helfen, einen Blick darauf zu werfen, danke. (Der Dateityp ist csv oder txt, was in verschiedenen Browsern gleich ist, aber den Download nicht auslösen kann)
Sie müssen auf die Schaltfläche klicken, um die Informationen zu erhalten und den Inhalt in Form einer Datei herunterzuladen.
Aber jetzt öffnet das Klicken auf die Schaltfläche ein neues Fenster und zeigt den Inhalt an, anstatt ein Download-Fenster aufzurufen.
Der Code lautet wie folgt:
<code>$filename = $this->input->cookie('merchant_id'); $timestamp = date("YmdHis",time()); $filename .= $timestamp.'.'.$fileType; $title = mb_convert_encoding($title,'gbk','utf-8'); header('Content-type: application/octet-stream'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Content-Disposition: attachment; filename=' . $filename); echo $title; $ret = $this->download_model->QueryList($Req, $Resp); $content = $this->GetDownLoadContentNew($ret['bill_list'], $fileType); echo $content; </code>
Unter anderem formatiert GetDownLoadContentNew den Inhalt entsprechend.
Sie wissen nicht, was los ist oder haben nichts bemerkt? Ich hoffe, Sie können mir helfen, einen Blick darauf zu werfen, danke. (Der Dateityp ist csv oder txt, was in verschiedenen Browsern gleich ist, aber den Download nicht auslösen kann)
<code>/** * 强制下载文件 * @param string $file 文件路径 */ function force_download($file){ if ((isset($file)) && (file_exists($file))) { header("Content-length: ".filesize($file)); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment;filename="'.basename($file).'"'); readfile($file); } else { echo "No file selected"; } } //使用示例 force_download('./test.jpg');</code>