• Авторизация


Приложение «Раздача аватарок». Изнанка. 06-08-2008 17:10 к комментариям - к полной версии - понравилось!


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

Итак, приложение «Раздача аватарок» суть фильтр. В базу заносится ссылка на картинку и... В принципе, это самое трудоемкое, что делает приложение. Конечно, перед занесением в базу картинки скрипт ее проверяет на адекватность (размер - не более 1Мб, тип - GIF или JPEG). Остальное делает скрипт, выдающий пользователю картинку.

Ссылка на картинку-аватарку в приложении выглядит так:
http://vexer.ru/liru/liruavs/ссылка_на_картинку
Где ссылка_на_картинку - ссылка без «httр://»
Таким образом выдающему скрипту передается ссылка на картинку. Скрипт снова проверяет картинку на адекватность, при необходимости пропорционально уменьшает до требуемых 150x150 пикселей (при уменьшении, правда, большие анимированные картинки становятся статичными) и выдает пользователю. В случае неадекватной картинки ссылка на нее стирается из базы, а пользователю показывается надпись «аватарка не найдена». Собственно, это все.

Непосредственно об адекватности картинки скрипт судит по передаваемым метаданным:

PHP:

$fi 
fopen($file_name,"r");
$inf stream_get_meta_data($fi);
fclose($fi);

$size_file=0;
$type_file="";

foreach(
$inf["wrapper_data"] as $vv) {
  if (
stristr($vv,"content-length")) {
    
$v explode(":",$vv);
    
$size_file=trim($vv[1]);
  }
  if (
stristr($vv,"content-type")) {
    
$v explode(":",$vv);
    
$type_file=strtolower(trim($vv[1]));
  }
}



Собственно непосредственно на сервере, получается, я ничего не храню. Вот такой финт ушами.
вверх^ к полной версии понравилось! в evernote
Комментарии (6):
/*краду в базу знаний*/

Программистам о программистах на Progger.Ru
-hunter- 15-08-2008-14:27 удалить
Хм интересно! То что на сервере ничего не хранится это огромный плюс. А если картинка большая, выдающий скрипт ее "на лету" уменьшает?
V_exeR 15-08-2008-16:58 удалить
-hunter-: именно, я же это упоминаю.
Asunder 03-09-2008-15:55 удалить
V_exeR, интересно на Ли.ру такой же фильтр?
V_exeR 06-09-2008-01:18 удалить
Asunder: фильтр - это нечто, пропускающее через себя материал. На ЛИ.ру при загрузке аватар они сохраняются на сервер. То есть хоть они и тоже движком ЛИ.ру уменьшаются и все такое, но это не фильтр.
Asunder 06-09-2008-11:37 удалить
V_exeR, под словом "фильтр" я подразумевал скрипт проверки проверка по типу файла: gif или jpeg, по весу, по габаритам... p.s. не знал, что ли.ру теперь сама аватары уменьшает раньше там стояло ограничение по габаритам
V_exeR 07-09-2008-11:51 удалить
Asunder: это не фильтр, это так и называется - проверка. Насчет ЛИ.ру - я могу ошибаться, давно не загружал никаких аватар, у меня одна, с самого начала.


Комментарии (6): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Приложение «Раздача аватарок». Изнанка. | V_exeR - ЛИру-аккаунт | Лента друзей V_exeR / Полная версия Добавить в друзья Страницы: раньше»