【发布时间】:2014-07-03 19:13:23
【问题描述】:
for ($i = 0; $i < $int; $i++) {
$im = new imagick();
// $im->readimage($soubory."[".$i."]");
$im->setResolution(300, 300);
$im->readImage($soubory . "[" . $i . "]");
$im->resampleImage(150, 150, imagick::FILTER_UNDEFINED, 1);
$im->resizeImage(512, 700, Imagick::FILTER_LANCZOS, 0);
$im->setImageFormat('jpeg');
$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$im->setImageFormat('jpg');
$i = sprintf("%03s", $i);
$im->writeImage('../pdf/publisher/' . $select . '/x-' . $i . '.jpg');
$im->clear();
$im->destroy();
if ($i == 000) {
$preview = '../pdf/publisher/' . $select . '/x-' . $i . '.jpg';
}
}
如果我有一个小于 4 MB 的文件,它可以完美运行。但是有些文件没有上传。我不知道为什么。
我收到此错误:
致命错误:未捕获的异常 'ImagickException' 带有消息 'Postscript delegate failed `/data/web/virtuals/69845/virtual/www/domains/nabytek-novydomov.cz/pdf/9.pdf':没有这样的文件或/data/web/virtuals/69845/virtual/www/domains/nabytek-novydomov.cz/funkce.php:92 中的目录@pdf.c/ReadPDFImage/611' 堆栈跟踪:#0 /data/web/virtuals/69845 /virtual/www/domains/nabytek-novydomov.cz/funkce.php(92): Imagick->readimage('/data/web/virtu...') #1 /data/web/virtuals/69845/virtual/ www/domains/nabytek-novydomov.cz/adm/includes/pdf_publisher.php(4): uploadpdf(NULL) #2 /data/web/virtuals/69845/virtual/www/domains/nabytek-novydomov.cz/adm/包含/container.php(17): include('/data/web/virtu...') #3 /data/web/virtuals/69845/virtual/www/domains/nabytek-novydomov.cz/adm/index. php(155): include('/data/web/virtu...') #4 {main} 抛出 /data/web/virtuals/69845/virtual/www/domains/nabytek-novydomov.cz/funkce.php在第 92 行
【问题讨论】:
-
您是否尝试过为您的脚本增加
memory_limit? -
您的脚本是否有权访问该文件?
-
脚本可以访问该文件。如果他不接近,无论如何是行不通的。我尝试 ini_set("memory_limit","30M");但结果是一样的
-
顺便说一句,您可能不想设置
Imagick::FILTER_UNDEFINED它的行为是未定义的。 -
我删除了 Imagick::FILTER_UNDEFINED,但没有任何改变