За последние 24 часа нас посетили 59880 программистов и 1771 робот. Сейчас ищут 818 программистов ...

изображения на странце

Тема в разделе "PHP для новичков", создана пользователем Roman82, 20 дек 2009.

  1. Roman82

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

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    Здравствуйте!
    Помогите с идеей.

    Идея заключается в следующем:
    пользователь хочет добавить новую страницу с изображениями, с созданием страниц проблем нет, а вот с изображениями есть.
    Перед созданием страницы сначала загружаются фото (может быть несколько), а затем при создании страницы выводится список только что загруженных файлов (полностью код изображения вметсе с тегами img ); вставляя этот код в текстовую область можно в любом месте отображать фото.

    Так вот, проблема в следующем, в каком виде хранить эти ссылки, чтобы при обновлении страницы (редактировании) выводились эти же ссылки, которые были загружены при создании этой страницы?

    Подумал, что можно их хранить в виде массива в бд, потом выводить этот массив (при редактировании страниц) и работать с ним дальше (например проверка на существование фото и т.д.)?

    Может у кого получше мысль есть?
     
  2. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    ну, если фото будешь хранить...

    наверное, я бы хранил в структуре вида

    /foto/user_id/album_id/ __fotos__

    А для вывода списка тупо считывал все граф. файлы, что там есть, функцией glob
     
  3. Roman82

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

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    DarkElf, тоже вариант, но подразумевается, что другие пользователи могут редактировать страницы и новости созданные другими пользователями.
    Может немного изменить эту идею и и создавать папку для фото по id страницы (например foto/page_id) или по id новости (foto/news_id) а там уже хранить фото и при редактировании страницы проверять папку?
     
  4. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Делаешь таблицу ссылок на фото
    ID, URL
    Отдельную таблица с ID страницы и ID ссылки на фото
    ID, ID_page, ID_foto

    все.

    таблица ссылок на фото
    1, site.com/foto/papa
    2, site.com/foto/mama
    3, site.com/foto/ya

    таблица связи страниц и ссылок (на 1й странице papa + ya, на 2й странице mama+ya)
    1, 1, 1
    2, 1, 3
    3, 2, 2
    4, 2, 3
     
  5. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Сами же фото можно хранить скопом или в каталогах по датам. Это не важно.
     
  6. Roman82

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

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    Simpliest, смысл понял;
    а потом надо будет циклом выбирать фотки по id_page в массив и дальше уже с массивом работать?

    так а может вместо id_foto (1, 2, 3 ...) сразу ссылки вписывать?

    1, 1, site.com/foto/papa
    2, 1, site.com/foto/ya
    3, 2, site.com/foto/mama
    4, 2, site.com/foto/ya
     
  7. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Зачем циклом?
    1 запрос с id_page и mysql_fetch_array().
    Все сразу окажется в массиве.

    Можно, но это не гибко. Общее правило таково - каждому объекту своя таблица.
    У тебя ID картинки могут использоваться и в каких-то других местах и целях. (например, если ты захочешь сделать несколько тегов для каждой картинки)

    Плюс
    Легко расширить добавив еще одно поле RATING
    указывающее рейтинг картинки.
    AUTHOR - автора
    DATE_UPLOAD - дата добавления и т.д.

    И по ИД картинки ты сможешь получать дополнительную информацию о ней. Там где тебе нужно.
     
  8. Roman82

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

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    Simpliest, спасибо, все понял. Меня всегда убеждали убедительные методы :)
    Осталось дело за малым: все реализовать.
    Всем спасибо, буду пробовать.