Обработка Имагов

ZeiZ

Новичок
Обработка Имагов

Доброе время суток PHP программеры.
Давно я вам не писал, и был повод. Но «кто вспомнит прошлое, тому глаз вон» Нородная мудрость (с).
Сегодня, через год отсутсятвия, я снова хочу взорвать Вам мозги.
А конкретнее, поговорим о свободном добавлении посетителями фото-файлов на некий ресурс, а ещё точнее про алгоритм (блок-схему) как это надо или не надо делать.
И так: Перед нами HTML форма отправки файла: типа поле и кнопочка «обзор…».
По идее пользователь должен выбрать на своем компе некий файл и соответственно положить его. Далее он нажимает кнопку формы а-ля “submit” и форма переходит в post=”xxx.php”.
Ну я прям как для новичков это рассказываю.
Как написать такую форму я опущу, а вот xxx.php файлик для нас более актуален.
Сейчас я не смогу Вам выдать полный кодинг этого файла (на другом компе), зато нашел блок-схему в *.gif
!!! Хочу обратить внимание на то, что фото на сайт будут загружаться любыми пользователями, без предварительной регистрации!!!
Преветствуем.
Датировка Блок-схемы – 7 марта 2007г.


Поясняю алгоритм блок-схемы:
0) Непосредственно форма отправки файла
1) Чтож! Форма отправлена, стоит проверить есть ли у нас в серверных темпах файлик от этого поста? Что-то есть -> на 2) ---- Нет –> на 0)
2) Молодец! Загрузил что-то не на**ал! А что это? Проверим расширение. Это JPEG или GIF -> 3) ---- Что-то другое –> на 0)
(Политика сайта: только *.GIF или *.JPG или *.JPEG)
3) Ну любой файл можно переименовать в *.jpg. Стоит проверить а вправду это изображение или нет? ОК! – Это картинка –> 4) ---- Нет это не картинка хоть и имеет расширение картинки -> на 0)
4) А вот и картинка. А какой размер она имеет. Нам не нужно ничего меньше 320 так или 320 иначе (некрасиво будет смотреться на сайте). Я (картинка) сфоткана с мобильной цифры 0,3мпх (640на480) -> 5) Я сделана в пайнте и я 10000000000000000000000 на 1 пикс. -> на 0)
5) Ну вот и успокоились… Куда ее сохранять- это отдельная тема, неважно, сохранили из темп куда-то. -> на 6)
6) Тут ищем какая сторона больше и обрезаем (GD2 – 4ever) картинку с соотношениями 1 к 0,75 – т.е. соотношение любой стандартной фото (480/640=0,75) -> 7)
7) Ну тут блок-схема толком заканчивается для общего, т.е. то что я хочу вам доложить.

И собственно: НЕ НАДО мне говорить, что создано 100 классов для этого и т.д.
Собственно меня интересуют Ваши варианты БЕЗОПАСНОГО решения данной проблемы и/или объяснение дыр в моей блок-схемы (не в голове и не в ДНК, про это вы уже говорили) =)
 

Scud

Новичок
Хм, я бы в эту блоксхему ещё монстров посадил бы и ссылку на правила AD&D давал бы.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
описанная блок-схема может быть признана безопасной для внутреннего применения до еды 2 раза в день
 

AmdY

Пью пиво
Команда форума
шет, это в хумор, я почему-то сразу подумал про обкурившегося препода. всё в таком академическом стиле, блок схемы, общение со слушателями, вот только смысла ускользает

-~{}~ 03.10.08 03:34:

ZeiZ
спасибо, что научил нас загружать картинки.

форма переходит в post=”xxx.php”.
Ну я прям как для новичков это рассказываю.
:)
 

pilot911

Новичок
6й пункт я бы убрал - зачем конвертить картинку, обрезать и тп сразу после заливки ?

создай convert.php, в котором можно было бы конвертить исходное изображение в разные размеры по запросу со стороны клиента

допустим, как на flickr, есть несколько размеров просмотра картинки - размер определяется по последним 2-3м буквам картинки

типа исходная картинка petya.gif, а нужная petya_B20.gif.

она пока не существует - поэтому запрос через htaccess отправляется в convert.php

имхо, это более гибкий вариант, экономящий ресурсы (если вариантов размеров более одного )
 

ZeiZ

Новичок
я почему-то сразу подумал про обкурившегося препода
Не препод, а второе было верно! :)

6й пункт я бы убрал - зачем конвертить картинку, обрезать и тп сразу после заливки ? создай convert.php, в котором можно было бы конвертить исходное изображение в разные размеры по запросу со стороны клиента допустим, как на flickr, есть несколько размеров просмотра картинки - размер определяется по последним 2-3м буквам картинки типа исходная картинка petya.gif, а нужная petya_B20.gif. она пока не существует - поэтому запрос через htaccess отправляется в convert.php
Нагрузка на сервак - полный ППЦ! Если хранить "как есть" и каждому клиенту раздовать через GD2 с обрезкой и водяным знаком...... Хм...
Проверял, лучше уж сразу всё отконвертить и положить куда надо.
 
Сверху