Я пытаюсь преобразовать и изображение в tiff, используя imagemagick, но я столкнулся с проблемой при попытке записать файл. Я получаю сообщение об ошибке:
Не удалось открыть изображение … error / blob.c / OpenBlob / 2584 '
- Вставка в MySQL из PHP (jQuery / AJAX)
- Multi Select Dropdownlist Предварительный выбор
- Использование DOMDocument для анализа HTML с помощью JS-кода
- PHP: математические вычисления и сравнения
- PHP Использование File_get_Contents () для предварительного заполнения формы
- Нечеткие числа с добавлением микросов и с плавающей запятой в PHP
Это код, который я использую:
$im2 = new Imagick($image); $im2->setImageFormat("tiff"); $im2->setImageColorSpace(5); $im2->writeImage("test.tiff");
$ image – это просто URL-адрес, который я передаю в файл изображения. Я просто запускаю простую тестовую функцию, чтобы заставить ее работать и поместить test.tiff в ту же папку. Что я могу делать неправильно? Не удалось найти много документации по этому вопросу.
Аргументом конструктора 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