Zend_Pdf_Image :: imageWithPath from URL - PullRequest
       0

Zend_Pdf_Image :: imageWithPath from URL

2 голосов
/ 16 февраля 2011

Я использую скрипт, который генерирует изображение PNG на основе параметра URL image_id. Например: http://www.example.com/image.php?image_id=G554jGTT

Теперь я хочу поместить это изображение в PDF-файл следующим образом:

$imagepath = "www.example.com/image.php?id=" . $id;
$image = Zend_Pdf_Image::imageWithPath($imagepath);

Когда я использую локальный файл, все идет хорошо, но когда я использую URL, я получаю следующую ошибку:

Fatal error: Uncaught exception 'Zend_Pdf_Exception' with message 'Cannot create image resource. File not found.' in E:<...>\library\Zend\Pdf\Resource\ImageFactory.php:38

Кто-нибудь знает, как это сделать?

Спасибо!

1 Ответ

5 голосов
/ 16 февраля 2011

Вы не можете сделать это, используя Zend_Pdf_Image::imageWithPath. Причина в том, что ImageFacotry ожидает файл. И он использует is_file метод, чтобы проверить, существует ли файл. Однако функция is_file не обязательно работает с удаленными файлами.

Одним из способов решения этой проблемы является загрузка изображения и сохранение его под временным именем, после чего этот временный файл помещается в Zend_Pdf_Image::imageWithPath. Чтобы загрузить и сохранить файл, вы можете использовать, например, file_put_contents('./tempname',file_get_contents($imagepath)). Конечно, временное имя должно быть случайным, и оно должно быть впоследствии удалено.

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