0

私はフォームを持っています。ユーザーをサンキューページにリダイレクトしたいことを確認した後、ファイルを強制的にダウンロードしますリダイレクト機能から「更新」すると、ファイルが即座にダウンロードされます。ここに私のコードがあります

コントローラ

public function index()
{

    if ($this->form_validation->run('price') == FALSE) {
        // Validation problems 
        $this->load->view('control_front', array('page' => 'price'));
    }
    else
    {   

        redirect('price/thanks', 'refresh');
    }
}
public function download()
{

    $this->load->helper('download');
    $data = file_get_contents("./uploads/price-list-2013.pdf"); // Read the file's contents
    $name = 'pricelist.pdf';

    force_download($name, $data);
            // doesn't go the view page
    $this->load->view('control_front', array('page' => 'thanks'));

}

ここで行う必要があるのは、ありがとうページをロードしてから強制ダウンロードすることです..どうすればそれを行うことができますか?

4

1 に答える 1

0

私は通常、この関数を js ファイル内の setTimeout 内で遅延 X 秒間使用します。このコードは、ファイル ルートとともに、php ビューに配置できます。

function downloadURL(url)
{
    var iframe;
    iframe = document.getElementById("hiddenDownloader");
    if (iframe === null)
    {
        iframe = document.createElement('iframe');  
        iframe.id = "hiddenDownloader";
        iframe.style.visibility = 'hidden';
        document.body.appendChild(iframe);
    }
    iframe.src = url;  
}


于 2013-05-02T08:47:32.537 に答える