Bonsoir,
Je suis toujours sur mon site avec Codeigniter 4 et je ne comprend pas comment afficher mon image "avatar" sachant que je l'ai déjà fait apparaître en la mettant en preview mais quand il s'agit de l'afficher pour mon image de profil ça ne fonctionne pas.
Je débute complètement avec php donc il faudra être compréhensif. Merci.
Voici mes codes :
Ma page "View"
Mon controller avec la fonction "UploadImage"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div class="profile-header"> <?php $session = session();?> <?php if($session->isLoggedIn==TRUE): ?> <div class="profile-img"> <?php ?> <img src="<?php echo base_url('assets/img/membres/'.$session->img_name)?>" width="200" alt="Profile Image"> </div>
Mon Model que j'utilise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 public function uploadImage() { $session = session(); $membre = new MemberModel(); $id = $session->get('id'); $id_membre = $id; // image validation $validated = $this->validate([ 'image' => [ 'uploaded[image]', 'mime_in[image,image/jpg,image/jpeg,image/gif,image/png]', 'max_size[image,4096]', ], ]); $image_file = $_FILES['image']['name']; if (!$validated) { return view('image', [ 'validation' => $this->validator ]); } // Grab the file by name given in HTML form $file = $this->request->getFile('image'); // Generate a new secure name $name = $file->getRandomName(); // Move the file to the directory $file->move('assets/img/membres', $name); $model = new ImageModel(); $model->save([ 'img_name' => $name, 'id_membre'=> $id ]); session()->setFlashdata('success', 'Image envoyée avec succès.'); return redirect()->to(site_url('image'))->withInput()->with('previewImage', $name); }
Et enfin l'affichage sur mon site
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class ImageModel extends Model { protected $table = 'image'; protected $primaryKey = 'id'; protected $useAutoIncrement = true; protected $returnType = 'array'; protected $allowedFields = ['id_membre','img_name', 'created_at']; }
Merci pour votre aide.
Partager