За последние 24 часа нас посетили 15554 программиста и 1617 роботов. Сейчас ищут 760 программистов ...

Обработка изображения перед отправкой

Тема в разделе "Прочие вопросы по PHP", создана пользователем ZeiZ, 2 окт 2008.

  1. ZeiZ

    ZeiZ Активный пользователь

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

    Поясняю алгоритм блок-схемы:
    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 классов для этого и т.д.
    Собственно меня интересуют Ваши варианты БЕЗОПАСНОГО решения данной проблемы и/или объяснение дыр в моей блок-схемы =)

    Б***Ь!!!!! А как картинку то в форум вставить? =)
     
  2. Laroux

    Laroux Активный пользователь

    С нами с:
    28 май 2006
    Сообщения:
    51
    Симпатии:
    0
    Адрес:
    Краснодар
    эмм... Ну и код давай на растерзание. Интересно, как же ты эту блок-схема реализуешь...
     
  3. ZeiZ

    ZeiZ Активный пользователь

    С нами с:
    2 окт 2008
    Сообщения:
    2
    Симпатии:
    0
    Эмм... А код-то я похерил! Поэтому: скажите! какой из пунктов данного скрипта (пусть и в блок-схеме) у Вас вызывает особое беспокойство!???
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    надо делать проще, но не слишком просто!!
    а вообще какой это нафиг алгоритм, тут максимум 100 строк кода...
    нафиг пеходить, лучше подгружать, файл, а ещё лучше класс...
     
  5. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Кто за инвалид рисовал этот алгоритм?