PHP: преобразование изображения в TIFF с помощью imagemagick

Я пытаюсь преобразовать и изображение в tiff, используя imagemagick, но я столкнулся с проблемой при попытке записать файл. Я получаю сообщение об ошибке:

Не удалось открыть изображение … error / blob.c / OpenBlob / 2584 '

Это код, который я использую:

$im2 = new Imagick($image); $im2->setImageFormat("tiff"); $im2->setImageColorSpace(5); $im2->writeImage("test.tiff"); 

$ image – это просто URL-адрес, который я передаю в файл изображения. Я просто запускаю простую тестовую функцию, чтобы заставить ее работать и поместить test.tiff в ту же папку. Что я могу делать неправильно? Не удалось найти много документации по этому вопросу.

Solutions Collecting From Web of "PHP: преобразование изображения в TIFF с помощью imagemagick"

Аргументом конструктора Imagick является загрузка локального файла изображения. Чтобы загрузить удаленный файл изображения, вы должны создать экземпляр объекта Imagick без аргументов и либо:

  • загрузить содержимое изображения и передать его методу readImageBlob , или
  • fopen URL и передать его методу readImageFile .

Например:

 // assuming $image is an URL or path to a local file $handle = fopen($image, 'rb'); $im2 = new Imagick(); $im2->readImageFile($handle); $im2->setImageFormat("tiff"); $im2->setImageColorSpace(5); $im2->writeImage("test.tiff"); fclose($handle); $im2->destroy(); 

Imagick работает с локальными файлами и удаленными файлами.

 $im2 = new Imagick($image); $im2->setImageFormat("tiff"); $im2->setImageColorSpace(5); $im2->writeImage("test.tiff"); 

Он будет одинаково хорошо работать как на удаленном, так и на локальном сервере. Pfunc уже сказал, что это ошибка разрешений. Другим случаем, когда возникает эта ошибка, является неправильное определение каталога. извините мой en