Можно ли заменить пути к файлам ресурсами памяти?
Я напишу скрипт 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