2016-06-22 4 views
0

У меня есть программа, которая создает PDF-файл из созданных документов, если вы нажмете на URL-адрес. URL-адрес выглядит так: http://localhost:8080/interface/rme.php?class=Auftrag&constructor=10&method=getGRLBMPDF&parameters=%27false%27,%27%27,%2710%27&bps=_Brief;templateType:PDFCurl open PHP Script для создания файла PDF не работает

Значение «10» в «... constructor = 10 ...» равно номеру документа. Поэтому, если я хотел бы получить PDF-документ из документа с номером 9, мне просто нужно заменить номер, и URL-адрес действительно работает.

Проблема: это работает только в браузерах, и я хотел бы получить файл PDF с помощью PHP-скрипта.

Я попытался открыть URL-адрес с помощью завитка и нескольких параметров, но ничего не работает.

В программе есть временная директория, которая пуста. Если я открою ссылку, файл PDF будет создан внутри этого временного каталога, а URL перенаправит меня в новый сгенерированный PDF-файл внутри каталога temp. Я думаю, что в этом проблема.

Если я открою url с curl, wget или похожим, PDF не будет сгенерирован. Страница, которую я получаю с curl, содержит только «-1».

У кого-то есть идея, почему это не работает? У меня есть завиток, чтобы следовать переадресации и его разрешено моим ini-файлом тоже.

Спасибо заранее!

+0

доступ через URL, если его локальной принимал, вероятно, не самый лучший подход. –

+0

Привет, Дагон, спасибо за ответ. Да, я знаю, если у вас есть другое решение, скажите мне. Может ли он работать с «include»? Я не смог заставить его работать с включенным ... – Vidarrus

ответ

0

Я был в состоянии решить эту проблему:

Первого я определил все Get-переменными:

$_GET['class'] = "Auftrag"; 
$_GET['constructor'] = $Auftrag_ID; 
$_GET['method'] = "getGRLBMPDF"; 
$_GET['parameters'] = "'false','','".$Auftrag_ID."'"; 
$_GET['bps'] = "_Brief;templateType:PDF"; 

Затем я изменил каталог в файл PHP в моей URL:

$dir=$programpath."interface"; 
chdir($dir); 

После этого я включил файл PHP с требованием:

ob_start(); 
require("rme.php"); 
$data = ob_get_clean(); 

Теперь все работает нормально. Спасибо всем, кто прочитал мою проблему.

С уважением, Vidarrus

Смежные вопросы