if(!($size[200] > ****)){ cmsCore::addSessionMessage('<strong>' . $_LANG['ERROR'] . ':</strong> Ваше изображение слишком мало для использования в качестве аватара!', 'error');
Правила мало кто воспринимает, хотя написал крупным шрифтом рекомендуемый размер при загрузке авки. Дело в том, что при загрузке мелких изображений, они растягиваются и перекашивают профиль. Вот и хочется это в корне запретить.если меньше — растянется и не каждому это придется по вкусу. Можно в правилах прописать размеры и пусть читают и не удивляются
Спасибо, но не видел там версии для 1.10.1>, использовал вот этот вариант — ТЫЦ, преимущество — сохранение аватарок в отдельную папку. Но при загрузке все равно проходят мелкие изображения, так как используется стандартный загрузчик. Вот в нем и хотел встроить ограничение на загрузку, но это оказалось не так уж и просто.Один из возможных вариантов
Но и сверхсложного ничего нет. Навскидку алгоритм примерно такой:но это оказалось не так уж и просто.
// Собственно процедура загрузки файла if (cmsCore::moveUploadedFile($source, $uploadphoto, $errorCode)) { // Теперь смотрим его размеры // И если размеры меньше чем нужно, то удаляем его к чертям и выводим сообщение if (($resolution[0] < заданная ширина) || ($resolution[1] < заданная высота)) { cmsCore::addSessionMessage('Текст пугающего сообщения', 'error'); cmsCore::redirect('/users/'.$id.'/avatar.html'); ................
Спасибо большое за подсказку! Но не срабатываетНавскидку алгоритм примерно такой:
и
UPD. Все таки проверка не работает… Либо все время предупреждение и невозможность загрузить, либо все загружается...
Менял значения $resolution = getimagesize($uploadphoto); и $size = getimagesize($uploadfile); и не срабатывает определение.
if($inCore->moveUploadedFile($source, $uploadfile, $errorCode)){
Типа вначале на js/флешь выбираем файлы и проверяем их, и выводим ошибку если нужно, если все ок, то только потом передаем на сервер для дальнейшей обработки)
пс: могу очень сильно ошибаться)
пс: хотя и после загрузки на сервер можно… но как то оно по логике не то))
Aleks Shultz, код приведенный мной выше работает без проблем, но тем не менее нужно понимать, что это не является самодостаточным решением, это всего лишь маленький кусочек, отвечаюий за определение размера. Если самостоятельно решить в полной мере задачу не можете, то спросите у народа, наверняка у кого-то на руках остались исходники моего хака, сссылку на который я вам давал в самом начале. Там все это уже сделано, причем делалось все это именно для версии 1.10…
Поспрашивал, молчат как партизаны, не хотят хаком делиться)) Но срабатывающее предупреждение со страшным текстом, тоже сделало часть работы))то спросите у народа