Укажите путь загрузки файлов в Codeigniter - PullRequest
0 голосов
/ 01 октября 2018

Итак, в таблице есть несколько флажков, поэтому, основываясь на проверенных пользователем флажках, будет загружен определенный столбец таблицы в формате .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);
    }

Итак, все работает нормально, но я не могу указать путь для загрузки файлов, поэтому он сохраняется в приложении папка, которую я не хочу.Я попытался force_download ($ filename, $ data) не сработало, потому что я использую ajax.

1 Ответ

0 голосов
/ 01 октября 2018

Вам нужно заставить браузер загружать файл, кроме дисплея.

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')

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...