memory limit

uzver777

Новичок
memory limit

Подскажите, пожалуйста, как мне получить количество в данный момент свободной оперативной памяти на сервере для работы пхп скрипта? Я пишу скрипт, который должен работать с изображениями, и мне надо как то ограничить возможность загружать в ОЗУ те изображения, которые будут занимать больше памяти, чем есть на сервере. Я думал просто от лимита памяти отнимать количество уже используемой памяти в данный момент и количество необходимой для изображения, но может кто нибуть подскажет другой путь решения проблемы? Как обращаться к переменной лимита памяти на сервере?
 

uzver777

Новичок
Спасибо!!! +1)
Я тут кое что почитал и понял, что лимит это не гарантированно зарезервированная память не сервере. Тогда как другим способом получить количество свободной памяти?
 

Dovg

Продвинутый новичок
uzver777
Есть мнение, что картинки можно обрабатывать не только в php. Особенно, если есть подозрение, что они в память не пролезут.
 

uzver777

Новичок
сколько же там памяти, если на одно изображение может не хватить?
Ну к примеру, обращаемся к 1 изображению в формате jpg(png), и пусть оно занимает 6 мб(знаю что в вебе лучше не использовать такие болшие изображения, но что дизайнер дал то и имею). При использовании функции $im = imagecreatefromjpeg($path)/ $im = imagecreatefrompng($path) в переменную $im, и, соответственно, в оперативную память попадет не сжатое изображение, практически это формат bmp. А соответственно $im будет занимать намного больше места (в 10-20раз) в ОЗУ, чем исходный рисунок на винте. Т.е. 6*10(20)=60(120)мб ОЗУ. А если на сервере в этот момент будет доступно меньше памяти, то будет сгенерированна ошибка.
Есть мнение, что картинки можно обрабатывать не только в php. Особенно, если есть подозрение, что они в память не пролезут.
Согласен. Но, это скорее последний вариант.
 
Сверху