因此,表中的内容包含一些复选框,因此基于用户已选中的复选框,它将以.php格式下载表的特定列。因此,我尝试了以下代码:-
public function export_php() {
$export = $this->session->userdata('export_id');
$exports = $this->query_revision_model->export($export);
$data = "";
foreach ($exports as $export) {
$data .= $export->sql_changes . "\r\n";
}
$filename = "export.php";
$handle = fopen($filename, w);
fwrite($handle, $data);
fclose($handle);
}
因此,一切工作正常,但是我无法提供下载文件的路径,因此它保存在不需要的 application 文件夹中。 我尝试 force_download($ filename,$ data)不起作用,因为我使用的是Ajax。
答案 0 :(得分:0)
您需要强制浏览器下载除显示屏以外的文件。
public function export_php() {
$export = $this->session->userdata('export_id');
$exports = $this->query_revision_model->export($export);
$data = "";
foreach ($exports as $export) {
$data .= $export->sql_changes . "\r\n";
}
$filename = "export.php";
$handle = fopen($filename, w);
fwrite($handle, $data);
fclose($handle);
$filePath = APPPATH.$fileName;
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$fileName");
header("Content-Type: application/php");
// Read the file
readfile($filePath);
exit;
}
,然后在您的ajax代码中尝试使用此方法而不是ajax
window.location.replace('Your URL Here')
希望有帮助!