mPDF通过带有参数的URL来创建PDF文件

时间:2019-02-13 14:04:35

标签: php url get parameter-passing mpdf

我创建了一个pdf.php

Response.Write(Convert.ToString(p.GetValue(applicant, null)));

但是当传递参数为例时:

<?php 
include("mpdf60/mpdf.php");

$url = $_GET['url'];

ob_start(); 
include($url);
$html = ob_get_clean();
$mpdf=new mPDF('utf-8', 'A3-L'); 
$mpdf->SetDisplayMode('fullpage');
$mpdf->WriteHTML($html);
$mpdf->Output();
exit;
?>

使用错误创建文件PDF:

警告:include(gerencial_consad.php?mes = 01):无法打开流:结果在第7行的C:\ wamp64 \ www \ codforv2 \ pdf.php中太大 调用堆栈

时间记忆功能位置

1 0.0005 240264 {main}()... \ pdf.php: (!)警告:include():无法在C:\ wamp64 \ www \ codforv2 \ pdf.php中打开'gerencial_consad.php?mes = 01'以包含(include_path ='.; C:\ php \ pear')。 7号线 调用堆栈

时间记忆功能位置

1 0.0005 240264 {main}()... \ pdf.php:

请帮助我!!!!

谢谢!

1 个答案:

答案 0 :(得分:0)

您不想包含URL,您想通过HTTP客户端下载URL的内容。

allow_url_fopen ini设置限制的最简单方法是使用file_get_contents函数。

您需要将整个URL传递给函数:

$url = $_GET['url']; // http://example.com/
$html = file_get_contents($url);
$mpdf->WriteHTML($html);

警告:通过使用未经过滤和未经过滤的用户输入(直接$_GET['url']),您正在应用程序中打开一个安全漏洞。始终将输入限制为您知道安全的内容。

您最好只从请求中获取URL的参数,然后结合内部的最终URL。