supprimer une image

WRInaute impliqué
Bonjour,

J'utilise ce code pour supprimer ces images :

Code:
	unlink("../photo-annonce/chat/chat.png");
	unlink("../photo-annonce/chat/chat2.png");

ça marche très bien, sauf que des fois si le dossier chat ne contient pas chat.png ça m'affiche un code d'erreur, un moyen pour la supprimer seulement si elle existe ? ou une autre solution ?

Merci.
 
WRInaute accro
PHP:
<span class="syntaxdefault"></span><span class="syntaxkeyword">if&nbsp;(</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">unlink</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">);<br />}<br />&nbsp;</span><span class="syntaxdefault"></span>
 
WRInaute accro
ou @unlink("../photo-annonce/chat/chat.png"); si tu ne veux pas tester pour des raisons diverses.
 
WRInaute accro
"Bad practice", "Bad practice" va pas me faire chmir le php :D :wink: Oui tu as raison c'est pas cool il faut le souligner.
 
WRInaute impliqué
spout a dit:
PHP:
<span class="syntaxdefault">if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    unlink</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">);<br />}<br /></span><span class="syntaxdefault"> </span>

Pour être encore plus précis, j'utiliserai plutôt is_file qui vérifie à la fois l'existence mais aussi qu'il s'agit bien d'un fichier.
file_exists test aussi si c'est un dossier. Le unlink provoquerait alors une nouvelle erreur.

Pour son cas, la probabilité que ce soit un dossier est pratiquement null, mais autant utiliser les bonnes fonctions au bon endroit, ça éviterait des comportements étranges dans d'autre cas ;)
 
Discussions similaires
Haut