首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Imagick WriteBlob失败1642

Imagick WriteBlob失败1642
EN

Stack Overflow用户
提问于 2021-01-08 07:20:15
回答 1查看 154关注 0票数 0

我试着把png的封面从pdf的书里拿出来,但是我现在卡住了。脚本运行得很好。然后我更改了虚拟主机,并重新导入了所有文件,调整了路径和权限,但现在它不工作了。

我得到的错误是:

Uncaught ImagickException: WriteBlob Failed `/var/www/domain/public_html/libreria/covers/architettura dei calcolatori - andrew s-cover.png' @ error/png.c/MagickPNGErrorHandler/1642 in /var/www/domain/public_html/list.php:61 Stack trace: #0 /var/www/domain/public_html/list.php(61): Imagick->writeimage('/var/www/librer...') #1 /var/www/domain/public_html/libreria/index.php(58): include('/var/www/librer...') #2 {main} thrown in /var/www/domain/public_html/list.php on line 61

/var/www/domain/public_html/下的所有内容都拥有apache所有权和775权限。

发生转换的代码片段如下:

代码语言:javascript
运行
复制
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

/*$bookArray[] = $row["bookname"];
print_r($bookArray);*/

$book = $row["bookname"];
$path = $host."/libreria/books/".$row["bookname"];
$truepath = basename($path);
$fileArr = explode('.', $book);
$coverName = strtolower(reset($fileArr))."-cover.png";
$fileExt = strtolower(end($fileArr));

//echo "<a href='$truepath'>".$row["bookname"]."</a><br>";

if ($fileExt == "pdf") {
  $im = new imagick($book.'[0]');
  $im->setImageFormat('png');
  $im->resizeImage(150,200,1,0);
  $im->writeImage('/var/www/domain/public_html/libreria/covers/'.$coverName);
echo "<a href='$truepath'>"."<img src='covers/".$coverName."'>".$row["bookname"]."</a><br>";
} else {
  //  echo "<a href='$truepath'>".$row["bookname"]."</a><br>";
}

我检查了一下,但是我找不到错误/png.c/MagickPNGErrorHandler/1642是关于什么的。

有人能对此提出建议吗?提前感谢您:)

EN

回答 1

Stack Overflow用户

发布于 2021-05-23 06:14:09

我只是遇到了这个错误,并通过仔细检查我试图写入的路径来解决它。确保该路径存在,并且您具有写访问权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65621322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档