Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 下载文件,然后重定向到codeigniter中的某个页面_Php_Codeigniter_Download - Fatal编程技术网

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

Php 下载文件,然后重定向到codeigniter中的某个页面,php,codeigniter,download,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开始下载可能

问题是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开始下载

可能不是您想要的答案,但是长话短说:您不能强制下载然后重定向页面。两者都与设置标题有关,一个用于文件下载,其中一个用于一个位置-两者不能混合-至少在一个或另一个功能不正确的情况下不能混合。如果没有deceze在这里提出的建议,您可能无法使用js来实现这一点:这看起来不像是您想要完成的,因为在提供下载服务之前,重定向正在发生。类似地,netcoder在上述链接中的回答并不适用于所有浏览器。

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

  • 建议书/下载PDF
  • 建议/其他观点
  • 提案/新提案
  • 控制器方法建议书的内容/loadpdf

    $pdf = file_get_contents('thepdftoread.pdf');
    header("Content-type: application/pdf");
    header("Content-Disposition: inline; filename=whateveryouwanttocallpdf.pdf");
    readfile($pdfx);
    
    “someotherview”的内容,您从中开始(单击链接的位置)

    
    $(function(){//在执行此处的任何内容之前,请等待body加载
    $(“a.openPDF”)。单击(函数(){
    window.open('proposal/loadpdf','name of window');
    location.href='/proposal/new_proposal';//转发到proposal/new_proposal
    })
    })
    
    你能重新格式化你的问题吗
    pdf下载的内容是什么?另外,您不能同时重定向和下载文件,请确认。是否希望该页面提示用户下载或打开pdf,然后将其转发到其他页面?请尝试使用jquery重定向page@pendo这正是我想你说的,设置两个标题,一个用于下载,另一个用于位置。问题是我不知道如何做,我只是想请给我一个例子,以便我可以修复我的thankui说“你不能强制下载然后重定向页面”“这两者不能混合”,正如你在我链接的示例中所看到的,使用边界设置两个标题(netcoder答案)在所有浏览器中都不起作用。
    
    <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>