За последние 24 часа нас посетили 17702 программиста и 1714 роботов. Сейчас ищут 1752 программиста ...

Система друзей и ее реализация php mysql

Тема в разделе "PHP для новичков", создана пользователем _ne_scaju_, 14 мар 2017.

  1. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @_ne_scaju_ сейчас у тебя может получиться одинаковое имя файла, если пользователь id 10 загрузит 11-й файл ($i = 11), а пользователь id 101 загрузит 1 файл с таким же именем.
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @[vs]
    Что то не так сделал?
    Просто проверил от 2х пользователей отправить тот же файл и им подставился ихний id в конце хеша. Может что-то убрать или добавить надо, намекни мне)
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @_ne_scaju_ ты подставил не только id, но и число. Если ид равен 10 а число 11, то к хэшу добавляется 1011. Если ид равен 101, а число 1, то тоже получается 1011. В итоге имя файла может совпасть.
    --- Добавлено ---
    бууууэээээ
     
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @[vs]
    Лан я понял счетчик надо убрать.
    И оставить только сессии юсер идет.
    А на счет разделителя что вы говорили? Что сделать надо?
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    можно вставить между id и счетчиком например, тогда они не будут сливаться в одно число.
     
  6. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @[vs]
    То-есть так и будет норма?
    Совпадений в 11 и 101 не будет?
    $name = md5_file($filepach). '_'. $_SESSION['user_id']. $i; $i++;
    Пробовал вставить между счетчиком то ид не отделяется а подчеркивание за ним ставиться.
     
    #506 _ne_scaju_, 15 апр 2017
    Последнее редактирование: 15 апр 2017
  7. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    уверен?
     
  8. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @[vs]
    Угу делал так $_SESSION['user_id'] . '_'.$i; $i++;
    Можете не правильно что сделал.
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @_ne_scaju_ и че, так ид и счетчик сливаются в одно число?
     
  10. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @[vs]
    Я так подумал наверное счетчик здесь не к чему. Ты со мной согласен?
    Да одно число)
     
  11. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @[vs]
    А как уменьшить вес картинки?
    И когда пользователь изменяет свой аватар чтобы та картинка не удалялась а оставалась у него в кабинете, просто заменялась на новую.
    При необходимости улалял их.
    Потребуется я так понимаю еще одна таблица там где пользователь будет хранить, все свои аватары?
    Я смотрел некоторые движки и они создают для пользователя отдельную папку вроде все разумно а сервер легко будет обрабатывать. Все данные если пользователей станет миллион? И у каждого из них созданна папка.
     
  12. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @_ne_scaju_ какой смысл объяснять, если ты говоришь что два числа сливаются в одно, когда между ними вставлен символ?
     
  13. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @[vs]
    Нет вы меня не поняли символ стоит и отделять примерно так: rdrxfghg_1.jpg где в конце 1 это ид пользователя.
    А как делается такая штука превью и оригинал картинки, и их хранения правильное.
    То-есть хранить 2 изображения с одним именем надо или как? Хранить в одной папке или как?
    Выводить превью и по нажатию что бы увеличивалась оригинал.
     
  14. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @_ne_scaju_е а ты не боишься что теперь пользователь загрузит две разные картинки с одним именем, и одна затрет другую?
     
    denis01 нравится это.
  15. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @[vs]
    Оно так и получается только все ровно картинка в папке остается и вместо нее подставляется другая которую он загрузил.
    Как правильно хранить превью и оригинал картинки? В бд и в структуре сайта?
     
  16. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @_ne_scaju_ я уже не понимаю, что тебе надо )
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    просто рандом.
     
  18. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Как правильно хранить миниатюру и оригинал изображения в бд и в папках?
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не клади все в одну папку. Сделай подпапки по первым допустим трём буквам в рандомном имени файла
     
  20. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    рандом не уникален
     
  21. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @igordata
    @[vs]
    У вас есть готовое решение как загружать картинки и хранить их?
     
  22. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    microtime() + random_bytes(). Коллизия возможна, но вероятность её чуть меньше чем метеорит упавший на дата-центр хостера )
     
    SamyRed нравится это.
  23. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Как то так, насколько я понимаю, работает uniqid(). Но простое добавление id юзера диверсифицирует эту вероятность на количество пользователей)
     
  24. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не торопи события, Он файл сохранить не может. :D
     
  25. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632