pdf — PHP: put_file_content не работает

У меня есть php-скрипт, который сохраняет PDF из отчета о затмении в формате pdf.
Я использую содержимое файла get как imput.
Создание отчета в формате PDF занимает некоторое время.

Я думаю, что это проблема.

В следующем сценарий:

<?php
$rname = 'reportname';
$wname = $rname . '_' . date('d.m.Y') . '.pdf';
$pdf = file_get_contents("http://xxx.xxx.xxx.x:8080/Birt/run?__report=" . $rname . ".rptdesign&sample=my+parameter&__format=pdf");
file_put_contents('/tmp/report' . $wname, $pdf);
?>

В чем проблема?

Спасибо за вашу помощь 🙂

-3

Решение

Попробуйте установить тайм-аут запроса для file_get_contents

file_get_contents('http://www.example.com/', false, stream_context_create(Array("http" => Array("method"  => "GET",
"timeout" => 600,
))));

Также проверьте время ожидания по умолчанию

echo ini_get("default_socket_timeout");
1

Другие решения

file_put_contents() вернет числовое значение (представляющее записанные байты), если оно преуспело с записью, и вернет false когда запись не была успешной. Если запись не удалась, веб-сервер может не иметь разрешения на запись в каталог. Убедитесь, что каталог доступен для записи.

$result = file_put_contents('/tmp/report' . $wname, $pdf);

if( is_numeric($result) && $result > 0 ) {
// write was successful
} else {
// write was NOT successful
}

Соответствующий документ PHP: http://php.net/manual/en/function.file-put-contents.php

0

По вопросам рекламы [email protected]