Допустим для ленты новостей localhost/img.php?img=/img.jpg&width=100 для превью в файловом менеджере localhost/img.php?img=/img.jpg&width=60 Но если кто то в цикле будет обращаться к localhost/img.php?img=/img.jpg&width=х подставляя каждый раз новое значение то будут создаваться файлы с левым разрешением. Как можно ограничить помимо создания массива допустимых значений? Или как вы выводите изображения localhost/img.php?img=/img.jpg&width=х
вообще мне всегда казалось разумным создавать превью один раз при аплоаде изображения на сервак, и хранить отдельно превью и оригинальную картинку. но рендерить каждый раз - это точно не разумно. есть еще вариант ничего не ресайзить на серваке, а тупо на клиете генерить в теге img аттрибуты width и height (либо чере css-стиль)
хоть делаю так же как и engager , но знаю что есть проекты в которых необходимо ресайзить на лету ... только вот ниодной цели для этого немогу вспомнить
пришел к такой технологии: - набор предопределённых размеров превью - сами превьюшки содавать при первом обращении, а не при аплоаде. комбинация RewriteRule *** !-f (или try_files для nginx) и скрипта-ресайзера
engager для каждого значения параметра высота, ширина картинка генерится 1 раз потом просто возвращает сохраненную картинку. Вопрос был в том что кто то запустит скрипт где будет изменять параметр ширина на 1 единицу и будут создаваться левые картинки. Вспомнил вопрос, а почему так долго страничка грузится? Ответ оказался просто люди вставляли 8метровые изображения и ограничивали WхH атрибутами тега img.
siiXth не) Остался на прежнем есть массив $allowed, содержит что то типа $allowed = array( "height" => array( "100" => 1, "200" => 1, "300" => 1 ), "width" => array( "100" => 1, "200" => 1, "300" => 1 ) ) потом просто проверка на isset()