URL передачи mPDF с параметрами для создания файла PDF - PullRequest
0 голосов
/ 13 февраля 2019

Я создаю pdf.php

<?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;
?>

Но когда передаются параметры, например:

<?php

$url = 'gerencial_consad.php?mes='.$mes.'&ano='.$ano.'&menu=N';

?>

<a href="pdf.php?url=<?php echo $url; ?>">[ Gerar PDF ]</a>

Файл PDF создан с ошибкой:

Предупреждение: include (gerencial_consad.php? Mes = 01): не удалось открыть поток: тоже результатбольшой размер в C: \ wamp64 \ www \ codforv2 \ pdf.php в строке 7 Стек вызовов

Время Функция памяти Расположение

1 0,0005 240264 {main} () ... \ pdf.php: (!) Предупреждение: include (): Не удалось открыть gerencial_consad.php? Mes = 01 для включения (include_path = '.; C: \ php \ pear') в C: \ wamp64 \ www \ codforv2 \ pdf.phpв строке 7 стек вызовов

Время Функция памяти Расположение

1 0,0005 240264 {main} () ... \ pdf.php:

Помогите мне, пожалуйста !!!!

Спасибо!

1 Ответ

0 голосов
/ 14 февраля 2019

Вы не хотите включать URL, вы хотите загрузить содержимое URL с помощью HTTP-клиента.

Самый простой способ, ограниченный, возможно, настройкой 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-адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...