Php 使用DOMPDF创建PDF并重定向

Php 使用DOMPDF创建PDF并重定向,php,dompdf,Php,Dompdf,在PHP项目中,我需要创建一个PDF文件,并在用户单击提交按钮时重定向到另一个页面。 我已经设法使用创建了pdf文件。PDF创建在一个单独的文件('PDFRecipt.php')中完成。 当用户单击主页上的按钮时,我调用了该页面。这是如何调用PDF页面 header('location:PDFRecipt.php'); 但问题是当我在调用PDF页面后尝试重定向时 header('location:Other.php'); 它不创建PDF(仅重定向)。我试着换衣服 header('locati

在PHP项目中,我需要创建一个PDF文件,并在用户单击提交按钮时重定向到另一个页面。 我已经设法使用创建了pdf文件。PDF创建在一个单独的文件
('PDFRecipt.php')
中完成。 当用户单击主页上的按钮时,我调用了该页面。这是如何调用PDF页面

header('location:PDFRecipt.php');
但问题是当我在调用PDF页面后尝试重定向时

header('location:Other.php');
它不创建PDF(仅重定向)。我试着换衣服
header('location:PDFRecipt.php')
include_once('PDFRecipt.php')

然后它无法正确创建PDF(损坏的PDF文件)

如何创建PDF文件并重定向到其他页面

编辑:

PDFRecipt.php中编码

$html='SOME HTML';
include("../../dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream('FileName.pdf');        
//header('location:Other.php);
对问题的答复 为此,您需要将第二个
调用移动到
PDFRecipt
文件中。目前,当它们都在一个文件中时,您对
头的第二次调用将覆盖第一次调用

请记住,当输出发送到用户浏览器时会发送标题,这就是为什么您经常看到人们在
标题('位置:http://example.org');

因此,在本例中,
Location
,任何后续设置相同报头的调用都将覆盖第一个,直到发送报头为止

还值得指出的是,您应该在
位置
中使用完整的web URL:

HTTP/1.1需要一个绝对URI作为»位置:包括 方案、主机名和绝对路径,但有些客户端接受 相对URI。您通常可以使用$\u SERVER['HTTP\u HOST'], $\u SERVER['PHP\u SELF']和dirname()从 亲友

根据手册中的
标题
页:

根据评论更新 因此,您正在使用
stream()
方法向客户端发送PDF-您不能将其与
位置:
标题结合使用。这是因为DOMPDF已经将内容刷新到屏幕上。我假设您的
PDFRecipt.php
文件正在将PDF存储到某个磁盘上

有关更多详细信息,请参阅DOMPDF源代码:

问题的答案 为此,您需要将第二个
调用移动到
PDFRecipt
文件中。目前,当它们都在一个文件中时,您对
头的第二次调用将覆盖第一次调用

请记住,当输出发送到用户浏览器时会发送标题,这就是为什么您经常看到人们在
标题('位置:http://example.org');

因此,在本例中,
Location
,任何后续设置相同报头的调用都将覆盖第一个,直到发送报头为止

还值得指出的是,您应该在
位置
中使用完整的web URL:

HTTP/1.1需要一个绝对URI作为»位置:包括 方案、主机名和绝对路径,但有些客户端接受 相对URI。您通常可以使用$\u SERVER['HTTP\u HOST'], $\u SERVER['PHP\u SELF']和dirname()从 亲友

根据手册中的
标题
页:

根据评论更新 因此,您正在使用
stream()
方法向客户端发送PDF-您不能将其与
位置:
标题结合使用。这是因为DOMPDF已经将内容刷新到屏幕上。我假设您的
PDFRecipt.php
文件正在将PDF存储到某个磁盘上


有关更多详细信息,请参阅DOMPDF源代码:

我尝试了这个方法,但没有成功。它创建PDF文件,但不重定向:(您的
PDFRecipt.php
文件包含哪些内容?请使用源代码更新您的问题。我在实现上述内容时从未遇到过问题-可能是代码中存在错误或冲突导致它无法重定向。我尝试了此操作,但没有成功。它创建了PDF文件,但没有重定向:(你的
PDFRecipt.php
文件包含什么?请用源代码更新你的问题。我在实现上述功能时从未遇到过问题-可能是代码中存在错误或冲突导致它无法重定向。