簡體   English   中英

庫 imagemagick deosn 無法處理路徑中的圖像

[英]library imagemagick deosn't work with image at path

我已經安裝了 imagemagick,我正在用示例代碼測試這個庫。

如果圖像與 php 腳本位於同一目錄中,則它可以工作。 但是如果我把它放在一個文件夾中,它不會:

$imagick = new Imagick('./img/image.jpg');

我的腳本返回錯誤代碼 500。

例如:

<?php

 $imagePath = "/img/image.jpg";

function thumbnailImage($imagePath)
{
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->setbackgroundcolor('rgb(64, 64, 64)');
    $imagick->thumbnailImage(100, 100, true, true);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}
thumbnailImage();

您使用的是絕對路徑,而您應該使用相對路徑。

當你說:

$imagePath = "/img/image.jpg"; 

您是說圖像位於文件系統根目錄下的文件夾img中。

假設 img 文件夾與您的代碼位於同一文件夾中,例如:

-- code_folder/
  -- script.php
  -- img/
    -- image.jpg

您需要提供一個相對路徑。

您可以使用__DIR__預定義常量,它始終指向腳本所在的同一文件夾,並連接文件夾/圖像路徑。

例如:

$imagePath = __DIR__ . "/img/image.jpg";

此外,您正在定義thumbnailImage(); 使用一個參數,正在設置$imagePath ,但不傳遞該參數。 不好。

所以你應該這樣做:

thumbnailImage($imagePath);

那應該工作。

下次,請嘗試查看您的 php 錯誤日志以查找有關正在發生的事情的更多信息。 500 錯誤過於籠統,根本無助於進行故障排除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM