Можно ли заменить пути к файлам ресурсами памяти?

Я напишу скрипт PHP, который использует Montage, который является расширением ImageMagick, который создает мозаичные массивы изображений. Синтаксис Montage прост:

montage image1.png image2.png image3.png -tile x1 -geometry 50x50 out.png

Тем не менее, я генерирую эти образы на лету, и мне не хотелось бы записывать их на диск только для запуска этой команды. Есть ли какой-нибудь способ передать туда ресурсы, не записав их в файл?

(На самом деле это не вопрос монтажа, а скорее общий вопрос, который может относиться ко многим различным ситуациям.)

Любая помощь будет отличной!

2 ответа

Решение

Как я уже говорил, вы можете найти некоторую файловую систему tmpfs (например, с df | grep tmpfs) такие как /run и положи свои файлы внутрь. Затем они будут жить в виртуальной памяти (и обычно не требуют дискового ввода-вывода). Конечно, занимаемое ими пространство потребляет ресурсы виртуальной памяти (поэтому они ограничены).

Кстати, во многих системах Linux при записи небольших файлов не требуется много дискового ввода-вывода, потому что они находятся в кеше файловой системы.

Конечно, любой tmpfs Файловая система теряет весь свой контент при каждой перезагрузке, поэтому вы не хотите хранить важные невосстановимые данные внутри.

ImageMagick имеет API для C и PHP. PHP IMagick, похоже, имеет монтажные хуки.

http://us3.php.net/manual/en/imagick.montageimage.php

Общая информация об использовании PHP IMagick: http://us3.php.net/manual/en/imagick.examples-1.php

Другие вопросы по тегам