Скрипт загрузки PHP не может перейти на другую страницу до завершения загрузки - PullRequest
0 голосов
/ 10 мая 2018

Я работаю над веб-сайтом, основанным на видео, я должен дать ссылку для загрузки видео.

Я использовал приведенный ниже код, и он работает нормально.

if (file_exists($FileDownload)) {
        $Basename = pathinfo($FileDownload, PATHINFO_BASENAME);

        $mime = 'application/force-download';
        header('Pragma: public');  // required
        header('Expires: 0');  // no cache
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Cache-Control: private', false);
        header('Content-Type: ' . $mime);
        header('Content-Disposition: attachment; filename="' . basename($Basename) . '"');
        header('Content-Transfer-Encoding: binary');
        header('Connection: close');
        readfile("$FileDownload");  // push it out
        exit();
    }
$this->render(false);

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

Спасибо!

1 Ответ

0 голосов
/ 14 мая 2018

После многих усилий наконец я узнал ответ.

Файл ответов CakePhp - решение моей проблемы.

обновленный код

$FileDownload = base64_decode($FileDownload);


        // Retrieve the file ready for download

        $Basename = pathinfo($FileDownload, PATHINFO_BASENAME);
        // Run any pre-download logic here.
        // Send file as response
        $this->response->file(
                $FileDownload, array(
            'download' => true,
            'name' => $Basename
                )
        );
        return $this->response;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...