Выпуск №11.
Загрузка пользователями аватарок


Если видео не загружается, то посмотрите его здесь
Наверняка, каждый из Вас знает, что такое аватарка пользователя. И многие из Вас хотят сделать сайт, где у пользователей будет возможность загружать свою аватарку. Это является необходимым, например, для социальных сетей и для большинства форумов. Да и на информационном портале это вполне может быть нужно.
В этом выпуске мы сделаем возможность для пользователей загружать свои аватарки. Просмотрев урок, Вы узнаете:
- Где хранятся аватарки пользователей.
- Как загружаются изображения на сайт.
- Как обезопасить загрузку изображений.
- Как сделать возможность изменения аватарок.
Если Вы хотите скачать видео к себе на компьютер, то посмотрите инструкцию: как скачивать с YouTube.
P.S. Чтобы понять материал данного урока, Вы должны достаточно неплохо знать PHP и MySQL. Если Вы чувствуете, что знаете их недостаточно, то приобретите Видеокурс "PHP и MySQL с Нуля до Гуру 2.0": https://srs.myrusakov.ru/php7.
Комментарии (18):
Добавить комментарий:
function getAvatar($login) {
db_connect();
$result_set = mysql_query("SELECT `avatar` FROM users WHERE `login`='$login' ");
$row = $result_set->fetch_assoc();
return $row['avatar'];
}
В чём ошибка ?
Почему-то не нравится функция function getAvatar ($login) {
В чем может быть причина?
С прошлой проблемой справился, я просто ваши уроки применяю сразу к своему сайту. От того приходиться помучиться.
Я решил в дополнение к уроку про "добавление пользователями статьи" сделать возможность загружать картинку. Чтоб у стастьи с таким-то id была своя картинка. Я так понял, что здесь принцип тот же, что и при загрузки пользователем аватарки. Долго голову ломал и в итоге что-то получилось. Но выходить что статья отдельно(например в id_1), и картинка отдельно (в id_2). Получается у меня срабатывают две функции, а как их можно об"единить в одну.
1)функция:
function addGuestBookComment($name, $comment) {
global $mysqli;
connectDB();
$success = $mysqli->query("INSERT INTO `guestbook` (`name`, `comment`) VALUES ('$name', '$comment')");
closeDB();
return $success;
}
function loadIma($ima, $id) {
$type = $ima["type"];
$uploaddir = "avatars2/";
$name = md5(microtime()).".".substr($type, strlen("image/"));
$uploadfile = $uploaddir.$name;
if (move_uploaded_file($ima["tmp_name"], $uploadfile)) {
2 функция -> addIma($id, $name);
return true;
}
else return false;
2)функция: (написал сам по принципу 1 функции)
function addIma($id, $name) {
global $mysqli;
connectDB();
$mysqli->query("INSERT INTO `guestbook` (`ima`) VALUES ('$name')");
closeDB();
}
В 1функции $name-это поле с именнем пользователя,а во 2ф.$name-это уже имя картинки.
Можете подсказать, как можно все собрать в кучу?
Замечательные уроки, всё просто и понятно об"ясняете! Практически не возникало трудностей, хотя php я видел "в глазу" можно сказать первый раз!
Вот только с выводом аватарки небольшая проблема. В уроке по редактированию профиля для того, чтобы при смене пароля не нужно было заново авторизовываться , Вы рекомендуете прописать такие строки
( $_SESSION["password"] = $password; ). Вот, а при загрузки аватарки мне приходится страницу перегружать, при этом получается повторная запись - не подскажите как можно устранить проблему?