Варианты использования ImageMagick из PHP с BLOB-объектами MySQL? - PullRequest
0 голосов
/ 08 июня 2009

Итак, мой хост предоставляет ImageMagick на сервере, но не использует MagickWand или IMagick API для PHP. Я могу выполнять операции с командой PHP exec для работы с изображениями. Но для этого требуются полные имена файлов, и я хочу получить свои изображения из базы данных MySQL. Нужно ли будет извлекать их из базы данных и помещать в файл каждый раз, когда я хочу это сделать? Любые рекомендации?

Ответы [ 3 ]

3 голосов
/ 08 июня 2009

Один из вариантов - запустить процесс imagemagick с помощью proc_open() и записать / прочитать в / из созданного процесса 'stdin / stdout.

Чтобы читать imagemagick из стандартного ввода, просто введите тире '-' в качестве входного файла. Укажите /dev/stdout в качестве выходного файла. Ваш призыв к магии изображений должен выглядеть примерно так:

convert -scale 150x100 - /dev/stdout

Используйте fwrite и fread на каналах, созданных proc_open, чтобы записать ввод в imagemagick и прочитать вывод обратно.

Я не пробовал, но думаю, это должно сработать.

0 голосов
/ 14 июня 2009

вы пробовали phMagick ?

0 голосов
/ 08 июня 2009

Если единственный доступный вам ImageMagick может работать только с файлами (именно так я и прочитал ваше первое предложение), то вам действительно придется создавать файлы из ваших BLOB-объектов MySQL, чтобы использовать на них ImageMagick (и не забывать очищать их впоследствии). Моя рекомендация может состоять в том, чтобы перейти на более качественный хостинг, но я полагаю, у вас есть причины остаться с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...