ФорумПрограммированиеPHP для идиотов → Привязка авы к нику в анкете

Привязка авы к нику в анкете

  • code9

    Сообщения: 135 Репутация: N Группа: Кто попало

    Spritz 9 сентября 2009 г. 16:24

    Вот заинтересовал этот вопрос.Допустим заполняет человек анкету и закачивает аву.И потом как эту аву сделать евонной?Ссылку на картинку в базе хранить или как?
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 9 сентября 2009 г. 16:39, спустя 14 минут 28 секунд

    ссылку на картинку хранить в базе, да
  • OFF

    Сообщения: 429 Репутация: N Группа: Адекваты

    Spritz 9 сентября 2009 г. 16:51, спустя 12 минут 35 секунд

    хранить ссылку наверное самый простой вариант. опять же в зависимости от твоей ситуации.
    Если есть какая-то определенная директория для хранения аватар, то можно просто формировать имя файла при загрузке.
    например avatar_code9.gif или avatar_user_id_from_database.gif.

  • code9

    Сообщения: 135 Репутация: N Группа: Кто попало

    Spritz 9 сентября 2009 г. 20:53, спустя 4 часа 2 минуты 12 секунд

    И потом будет примерно так та
    <img src=/avatars/'.$user_ava.'.gif>
    или какой там синтаксис:/
    а как это имя формировать) подскажи укажи пожалуйста на парочку функции.Я видел такие скрипты,но сейчас когда именно они нужных и не найдешь.
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz 9 сентября 2009 г. 22:12, спустя 1 час 18 минут 45 секунд

    делаешь таблицу users_avatars и 2 поля(id - id user'а в таблице юзеров, path - путь к файлу). Дальше когда инфу на юзера достаешь дописываешь в SQL : в поле from добавляешь вторую таблицу users_avatars , в SELECT достаешь поле users_avatars.path, и во WHERE дописываешь AND users.id=users_avatars.id.
  • DeAle

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 9 сентября 2009 г. 22:57, спустя 44 минуты 26 секунд

    Само проще: делаешь для аватары поле в базе с типом longblob, а потом file_get_contents($_FILES['image']['tmp_name']) записываешь в базу)))
  • code9

    Сообщения: 135 Репутация: N Группа: Кто попало

    Spritz 9 сентября 2009 г. 23:00, спустя 3 минуты 45 секунд


    делаешь таблицу users_avatars и 2 поля(id - id user'а в таблице юзеров, path - путь к файлу). Дальше когда инфу на юзера достаешь дописываешь в SQL : в поле from добавляешь вторую таблицу users_avatars , в SELECT достаешь поле users_avatars.path, и во WHERE дописываешь AND users.id=users_avatars.id.
    а вот тут users.id точка какую роль играет?Я читал учебник по мускул,но про такие запросы никак не нашел доков.
    Спустя 77 сек.

    Само проще: делаешь для аватары поле в базе с типом longblob, а потом file_get_contents($_FILES['image']['tmp_name']) записываешь в базу)))
    хранить картинку в базе? 0_о а это не лажа?
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 9 сентября 2009 г. 23:29, спустя 28 минут 9 секунд

    code9, хранить в базе - лажа в данном случае.
    А имя картинки формируй на основании id юзера + можно какую-то "соль", например, тот же ник (идея не самая лучшая в случае с кирилическим ником. В целом, достаточно назвать аватару по id'шке юзера. Вот и всего делов-то :)
  • code9

    Сообщения: 135 Репутация: N Группа: Кто попало

    Spritz 9 сентября 2009 г. 23:52, спустя 23 минуты 44 секунды

    Ясно, спасибо, пойду пыхтеть!
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 10 сентября 2009 г. 0:03, спустя 10 минут 37 секунд

    вы чо ебнулись хранить картинку в базе … НАХУЙ!
    Сапожник без сапог
  • OFF

    Сообщения: 429 Репутация: N Группа: Адекваты

    Spritz 10 сентября 2009 г. 0:26, спустя 23 минуты 12 секунд

    я думаю примерно так:

    $tempfile = $_FILES['avatar']['tmp_name']; //временное имя загружаемого файла во временном каталоге.
    $id_user = $_SESSION['user_id']; // берем идентификатор юзера
    $avatar_dir = "avatars/"; // директория для аватаров
    $avatar_file = "avatar".$id_user.substr($_FILES['avatar']['name'], strlen($_FILES['avatar']['name'])-4, 4); // лепим имя файла. avatar+ид пользователя+расширение загружаемого файла
    $copy = copy($tempfile, $uploadavatardir.$avatar_file); // Перемещаем файл в нужное место.
    // дальше нужно сделать запрос в базу и вписать в нужно поле имя файла аватары для пользователя.

    Примерно так наверное.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 10 сентября 2009 г. 0:28, спустя 2 минуты 24 секунды

    OFF, а ты проверяешь: картинка ли это была загружена?
    Сапожник без сапог
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 10 сентября 2009 г. 0:32, спустя 3 минуты 23 секунды

    $copy = copy($tempfile, $uploadavatardir.$avatar_file); // Перемещаем файл в нужное место.
    [man]move_uploaded_file[/man]
    adw/0
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 10 сентября 2009 г. 0:32, спустя 30 секунд

    [man]move_uploaded_file[/man]

    adw0rd, ЫЫЫ
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 10 сентября 2009 г. 0:32, спустя 6 секунд

    [man]asd[/man]
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!