我创建了一个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:
请帮助我!!!!
谢谢!
答案 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。