我想使用 imagick 和 PHP 为存储在 Google Bucket 上的 PDF 文件 生成缩略图。
我在 Google App Engine(GAE)标准环境 上部署我的应用程序。
问题是我一直收到以下错误:
Fatal error: Uncaught exception 'ImagickException' with message
'UnableToWriteBlob `magick--1noB3XBwJhgfn': Read-only file system
我知道应用程序部署的文件系统不可写,但我需要一种实现方式...
这是我的代码。
<?php
putenv('MAGICK_TEMPORARY_PATH='.sys_get_temp_dir());
$imagick = new Imagick();
// get the content of pdf url
$imagenblob=file_get_contents('http://www.pdf995.com/samples/pdf.pdf');
// read the content and load it inn imagick instance
$imagick->readimageblob($imagenblob);
// point to the first page, because I want thumbnail for first page
$imagick->setIteratorIndex(0);
// set image format
$imagick->setImageFormat('png');
// resize image
$imagick->resizeImage(320,320,Imagick::FILTER_LANCZOS,1,1);
// return the result
header("Content-Type: image/png");
$base64 = 'data:image/png;base64,' . base64_encode($imagick);
exit($base64);
也许如果我可以更改imagick用于写入的目录,但是我无法实现这一点!!