За последние 24 часа нас посетили 17758 программистов и 1677 роботов. Сейчас ищут 872 программиста ...

Подгрузка фотографий при добавлении нового объекта.

Тема в разделе "PHP для новичков", создана пользователем Mastyf, 26 янв 2008.

  1. Mastyf

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

    С нами с:
    26 янв 2008
    Сообщения:
    5
    Симпатии:
    0
    Возьмем стандартную схему.

    Есть какой-то объект, к которому можно подгружать дополнительные элементы, например, фотографии. Фотографии привязываются к ID объекта.

    Как реализовать добавление фотографий, когда мы добавляем новый объект... то есть, когда мы не знаем ID объекта?

    Была идея про какие-то кеш таблицы, в которых хранить "отпечатки пальцев" клиента, привязывать добавленные фотографии к этим отпечаткам, а после добавлении нового объекта смотреть в БД и по "отпечаткам" привязывать фотографии к добавленому объекту.

    p.s. Генерить ID при посещении страницы не предлагать. Считаю подход не верным.
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    ну как. вместо с передаваемыми данными создаваемого объекта передаются фотки. создаешь объект и туда фото. какие сложности-то?

    или опять у нас реализация чего-то гениального?
     
  4. Mastyf

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

    С нами с:
    26 янв 2008
    Сообщения:
    5
    Симпатии:
    0
    Sergey89, в PHP далеко не новичок, RTFMом тыкать не надо.

    Использование mysql_insert_id резонно, когда мы делаем действия последовательно, а в моем случае, фотографии могут быть загружены на сервер еще до того, как создался сам объект. Я конечно могу этим фотографиям пока не проставлять ID объекта, а сделать это уже после добавления объекта, используя тот-же самый mysql_insert_id... Но проблемы начнуться, когда сразу-же несколько пользователей начнут добавлять новые объекты с фотографиями.

    440Hz, признаюсь, моя вина в том, что не описал до конца ситуацию.

    Поле с фотографиями не ОБЫЧНАЯ кнопка ОБЗОР. Фотографии подгружаются "группой" через флеш загрузчик. И получается так, что фотографии загружаются раньше создания самого объекта.

    p.s. Не привязывайтесь к слово "фотография", тут вопрос скорее в правильном подходе в загрузки доп. полей объекта, до его создания.
     
  5. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Не вижу связи.

    А почему бы не добавить объект, но с каким-нибудь флагом, который устанавливает его активность? В дальнейшем ID можно привязать к сессии.
     
  6. Mastyf

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

    С нами с:
    26 янв 2008
    Сообщения:
    5
    Симпатии:
    0
    Sergey89, Ну единственная реализация, которая приходит мне сейчас на ум это:

    При заходе на страницу создания объекта генерить уникальный идентификатор (не ID) и при добавлении фотографий - не привязывать их к объекту, а ставить фотографиям уникальный идентификатор и после создания объекта смотреть в базу на предмет соответствия идентификаторов и "выправлять" айдишники.

    Как думаете, есть-ли более "чистые" решения?
     
  7. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Попробуйте
    Можно с высокой степень вероятности говорить, что ID сессии уникален. К тому же вы получите контроль над "анонимными" объектами.
     
  8. RomanBush

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

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Что-то не пойму - а как Вы разрешаете подгружать какие-то файлы тем, кто Вам ещё не известен? То есть - до создания объекта, по Вашим словам. А если я, в качестве "доброжелателя" подгружу Вам пару тысяч картинок метров по 10 каждая, Вы мне "спасибо" скажете? Причём в режиме - "картинку послал и на этом сессия сдохла".
    А если всё-таки тот, кто подгружает эти картинки - известен, то можно просто к имени файла прибавлять id юзера, например.
     
  9. Anonymous

    Anonymous Guest

    резонно делать все действия последовательно... Так как управлять загрузкой изображений мы не можем, то нужно управлять созданием объекта. Что мешает создать его ДО начала загрузки фотографий?
     
  10. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    1. поскоьлку загрузка каких-то свойств объекта происходит ДО создания такового, то надо как-то привязать эти свойства к другому объекту, а потом их перместить в созданный. я бы привязывался к ID сессии, т.к. она уникальна по отношению к клиенту.

    2. создавать объект с признаком новый и на самом деле форма создания объекта будет формой редактирвоания и при первом посте ставить флаг (создан). тут нужен сборщик мусора, т.е. созданных объектов, но без флага "создан".

    3. дабы не нарушать логику как приложения так и отображения разрешать подгрузку тоьлко после того как объект создан. т.е. создаем объект, а потом переходим в режим редактирвоания где уже есть все необходимые параметры.
     
  11. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    загружай так:

    http://440hz.ru/trash/files/

    =)
     
  12. Mastyf

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

    С нами с:
    26 янв 2008
    Сообщения:
    5
    Симпатии:
    0
    Отвечу сразу-же всем...

    Вариант господина 440Hz схож с моими размышлениями, и по сути, других вариантов я не вижу. Я пришел сюда уже с этой формулировкой и хотел узнать более "чистый метод". Получается, что других идей нет :(



    Про привязку фотографий к Сессиям

    Вариант, к сожалению, не работающий... Т.к. совершенно просто может произойти такая ситуация, когда человек откроет сразу-же несколько страниц добавлений объекта и начнет грузить фотки в каждую из страниц - получится путаницца и фотки привяжуться к первому добавленному объекту. Актуально для людей на модемах.

    RomanBush, читайте тему заново.

    Посим, не найдя лучшой реализации - пошел делать задуманное.