Suppression d'un avatar unlink

Par neecride, il y a 8 ans


Bonjour,

Voila je voudrais optimiser ce code, le code fonctionne sans soucis mais j'utilise unlink deux fois car les user pourron prendre des png ou jpg comme avatar ou gravatar si empty !!

//suppression avatar if(isset($_POST['delete_avatar'])){ checkCsrf();//on vérifie tout de meme les failles csrf $profil_id = intval($_SESSION['auth']->id); $image_name = md5($profil_id); $db->prepare("UPDATE users SET avatar = ? WHERE id = ?")->execute(['', $profil_id]); unlink('img/avatars/' . $image_name . '.png'); unlink('img/avatars/' . $image_name . '.jpg'); setFlash('<strong>Super !</strong> L\'avatar a bien été supprimer <strong>Bien jouer :)</strong>','Success !'); redirect('account#flash'); }

3 réponses

neecride, il y a 8 ans

Persone peut m'indiquer la marche a suivre ?

S'il vous plais

fital, il y a 8 ans

Salut, déjà il faut que tu vérifies si le fichier existe :

<?php if (file_exists('img/avatars/' . $image_name . '.png')){ unlink('img/avatars/' . $image_name . '.png'); } else{ unlink('img/avatars/' . $image_name . '.jpg'); } ?>
neecride, il y a 8 ans

Merci de ta réponse, alors oui je savais pour file_existes je voulais juste l'info pour évité de faire deux unlink mon site n'est pas encore en production.

j'ai fait ceci, et finalement seul les png seront autoriser.

if(isset($_POST['delete_avatar'])){ checkCsrf();//on vérifie tout de meme les failles csrf $profil_id = intval($_SESSION['auth']->id); $image_name = md5($profil_id) . '.png'; if(file_exists('inc/img/avatars/' . $image_name)){ unlink('inc/img/avatars/' . $image_name); $db->prepare("UPDATE users SET avatar = ? WHERE id = ?")->execute(['', $profil_id]); setFlash('<strong>Super !</strong> L\'avatar a bien été supprimer <strong>Bien jouer :)</strong>','Success !'); redirect('account#flash'); } else { $error = errors('le fichier n\'existe pas'); } }

Je répond dans le cas on chercherai la même chose que mois !!!