下载文件然后重定向到codeigniter中的某个页面

时间:2018-04-10 19:54:08

标签: php codeigniter download

问题是pdf没有下载并且页面重定向到其他页面

$this->proposal_model->auto_save($data,$itemCount,$name0,$name1,$name2,$name3,$name4,$type,$project_id);
$this->load->view("pdf-download",$data);
redirect('proposal/new_proposal');

pdf未下载和页面重定向

但没有重定向功能pdf开始下载

2 个答案:

答案 0 :(得分:0)

也许不是你想要的答案,但长话短说:你不能强制下载然后重定向页面。两者都与设置标题有关,一个用于文件下载,一个用于一个位置 - 两者不能混合 - 至少不能没有一个或另一个不正确的功能。并且您可能无法使用j来执行此操作而不会出现像此处所示的deceze:Force download with PHP then redirect这似乎不是您想要完成的,因为重定向在服务下载之前发生。同样,netcoder在上述链接中的答案并不适用于所有浏览器。

答案 1 :(得分:0)

您的控制器中应该有三个功能,因为它与此相关:

  1. 提案/ loadpdf
  2. 提案/ someotherview
  3. 提案/ new_proposal
  4. 控制器方法提议/ loadpdf的内容

    $pdf = file_get_contents('thepdftoread.pdf');
    header("Content-type: application/pdf");
    header("Content-Disposition: inline; filename=whateveryouwanttocallpdf.pdf");
    readfile($pdfx);
    

    您正在开始的“其他视图”的内容(您点击该链接的地方)

    <html>
    <head>
      <script
      src="https://code.jquery.com/jquery-3.3.1.min.js"
      integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
      crossorigin="anonymous"></script>
    </head>
    <body>
    <script>
      $(function(){ //wait for body to load before we execute whatever is in here
        $("a.openPDF").click(function(){
          window.open('proposal/loadpdf','name of window');
          location.href = '/proposal/new_proposal'; //forward to proposal/new_proposal
        })
      })
    </script>
    </body>
    <a href="#" class="openPDF">Click me!</a>
    </html>