国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison cadre php PensezPHP Comment modifier l'avatar de l'utilisateur dans le framework ThinkPHP

Comment modifier l'avatar de l'utilisateur dans le framework ThinkPHP

Apr 10, 2023 am 09:03 AM

ThinkPHP est un framework PHP très populaire sur le marché national. De nombreux développeurs et entreprises l'utilisent pour développer diverses applications Web. Parmi elles, l'avatar de l'utilisateur est l'une des fonctions les plus courantes dans les applications Web. Par conséquent, cet article présentera comment implémenter la fonction de modification de l'avatar de l'utilisateur dans le framework ThinkPHP.

1. Analyse des exigences

Avant de commencer à écrire du code, nous devons d'abord clarifier les exigences, notamment?:

1. Les utilisateurs peuvent télécharger des avatars lors de l'inscription et enregistrer les avatars sur le serveur local.

2. après vous être connecté à votre propre avatar et enregistrez l'avatar modifié sur le serveur local.

En réponse aux besoins ci-dessus, ce qui suit sera expliqué en détail en deux parties.

2. Télécharger l'avatar

1. Créer une table de base de données

Pour plus de commodité, nous pouvons créer une table utilisateur pour stocker les informations de l'utilisateur :

CREATE?TABLE?`user`?(
??`id`?int(11)?NOT?NULL?AUTO_INCREMENT,
??`username`?varchar(255)?NOT?NULL,
??`password`?varchar(255)?NOT?NULL,
??`avatar`?varchar(255)?DEFAULT?NULL,
??PRIMARY?KEY?(`id`)
)?ENGINE=InnoDB?AUTO_INCREMENT=1?DEFAULT?CHARSET=utf8;

Parmi elles, le champ avatar est utilisé pour stocker. le chemin de l'avatar de l'utilisateur.

2. Créer un modèle utilisateur

Dans le framework ThinkPHP, nous pouvons faire fonctionner la base de données via la classe Model. Par conséquent, nous devons d'abord créer un modèle utilisateur?:

<?php
namespace app\index\model;

use think\Model;

class User extends Model
{
    protected $table = &#39;user&#39;;
}

Il convient de noter que nous devons spécifier le nom de la table comme ??utilisateur??, sinon ThinkPHP convertira automatiquement le nom de la classe de modèle en nom de la table de données.

3. Créer un contr?leur utilisateur

Ensuite, nous pouvons créer un UserController pour gérer les fonctions d'enregistrement des utilisateurs et de téléchargement d'avatar :

<?php
namespace app\index\controller;

use app\index\model\User;
use think\Controller;
use think\facade\Request;

class UserController extends Controller
{
    // 用戶注冊
    public function register()
    {
        if (Request::isPost()) {
            // 處理表單提交
            $user = new User;
            $user->username?=?Request::param('username');
????????????$user->password?=?md5(Request::param('password'));
????????????
????????????//?上傳頭像
????????????$avatar?=?Request::file('avatar');
????????????if?($avatar)?{
????????????????$savePath?=?'/uploads/';
????????????????$saveName?=?md5($avatar->getOriginalName())?.?'.'?.?$avatar->getExtension();
????????????????$avatar->move('.'?.?$savePath,?$saveName);
????????????????$user->avatar?=?$savePath?.?$saveName;
????????????}
????????????
????????????$user->save();
????????????$this->redirect('/index/Index/index');
????????}

????????return?$this->fetch('user/register');
????}

????//?修改頭像
????public?function?changeAvatar()
????{
????????if?(Request::isPost())?{
????????????//?處理表單提交
????????????$user?=?User::get(session('user.id'));

????????????//?刪除原頭像
????????????if?($user->avatar)?{
????????????????unlink('.'?.?$user->avatar);
????????????}

????????????//?上傳新頭像
????????????$avatar?=?Request::file('avatar');
????????????if?($avatar)?{
????????????????$savePath?=?'/uploads/';
????????????????$saveName?=?md5($avatar->getOriginalName())?.?'.'?.?$avatar->getExtension();
????????????????$avatar->move('.'?.?$savePath,?$saveName);
????????????????$user->avatar?=?$savePath?.?$saveName;
????????????????$user->save();
????????????}

????????????return?$this->success('修改頭像成功!',?'/index/Index/index');
????????}

????????return?$this->fetch('user/change_avatar');
????}
}

Le code ci-dessus implémente les fonctions d'enregistrement des utilisateurs et de téléchargement d'avatar. En raison du manque de place, cet article ne l'expliquera pas en détail. Il est à noter que le chemin de sauvegarde des avatars des utilisateurs se trouve dans le répertoire /public/uploads/.

3. Modifier l'avatar

1. Modifier le modèle utilisateur

Dans l'étape précédente, nous avons implémenté la fonction de téléchargement de l'avatar. Cependant, lorsque l'utilisateur souhaite modifier l'avatar, nous devons d'abord supprimer l'avatar d'origine, puis télécharger le nouvel avatar sur le serveur. Par conséquent, nous devons ajouter une méthode deleteAvatar() au modèle User pour supprimer l'avatar de l'utilisateur?:

public?function?deleteAvatar()
{
????if?($this->avatar)?{
????????unlink('.'?.?$this->avatar);
????????$this->avatar?=?null;
????????$this->save();
????}
}

2. Modifier le contr?leur utilisateur

Ensuite, nous pouvons modifier la méthode changeAvatar() dans le UserController pour prendre en charge les avatars Supprimer et fonctions de téléchargement?:

public?function?changeAvatar()
{
????if?(Request::isPost())?{
????????//?處理表單提交
????????$user?=?User::get(session('user.id'));

????????//?刪除原頭像
????????$user->deleteAvatar();

????????//?上傳新頭像
????????$avatar?=?Request::file('avatar');
????????if?($avatar)?{
????????????$savePath?=?'/uploads/';
????????????$saveName?=?md5($avatar->getOriginalName())?.?'.'?.?$avatar->getExtension();
????????????$avatar->move('.'?.?$savePath,?$saveName);
????????????$user->avatar?=?$savePath?.?$saveName;
????????????$user->save();
????????}

????????return?$this->success('修改頭像成功!',?'/index/Index/index');
????}

????return?$this->fetch('user/change_avatar');
}

Le code ci-dessus implémente les fonctions de suppression et de téléchargement des avatars des utilisateurs. Il convient de noter que l'avatar d'origine doit être supprimé avant de télécharger un nouvel avatar.

4. Résumé

Grace aux étapes ci-dessus, nous avons implémenté avec succès les fonctions de téléchargement et de modification d'avatar utilisateur dans le framework ThinkPHP. En utilisant ces connaissances de base, nous pouvons optimiser davantage le code et ajouter des fonctions puissantes telles que le recadrage d'avatar et la conversion de format d'image pour fournir aux utilisateurs des services plus complets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276