Bonsoir !
Désolé de ma réponse qui se fait tardive ! A l'approche des examens, j'ai eu quelques petits trucs qui m'ont pris beaucoup de temps mais dès ce soir, je m'y remet !
Je tiens à tous vous remercier de vos réponses, malheureusement je ne parviens toujours pas à obtenir ce dont j'ai envie.
J'ai testé le unlink qui me parait le plus approprié mais je ne comprends pas pourquoi, ça ne fonctionne pas....
Voilà ce que j'ai testé :
if(isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name']))
{
$tailleMax = 2097152;
$extensionsValides = array('jpg', 'jpeg', 'gif', 'png');
if($_FILES['avatar']['size'] <= $tailleMax)
{
$extensionUpload = strtolower(substr(strrchr($_FILES['avatar']['name'], '.'), 1));
if(in_array($extensionUpload, $extensionsValides))
{
$chemin = "membres/avatars/".$_SESSION['id'].".".$extensionUpload;
$fichier = glob('/profil/membres/avatars/'.$userinfo['avatar']);
if($userinfo['avatar'] != 'defaut.png')
{
unlink($fichier);
}
$resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);
if($resultat)
{
$updateavatar = $bdd->prepare('UPDATE membres SET avatar = :avatar WHERE id = :id');
$updateavatar->execute(array(
'avatar' => $_SESSION['id'].".".$extensionUpload,
'id' => $_SESSION['id']
));
}
else
{
$erreurs[] = "Une erreur est survenue pendant l'importation de votre photo.";
}
}
else
{
$erreurs[] = 'Votre photo de profil doit être au format jpg, jpeg, gif, png';
}
}
else
{
$erreurs[] = 'Votre photo de profil ne doit pas dépasser 2Mo.';
}
}
Mais j'ai également essayé de bien d'autres manières, en enlevant le glob() et en mettant uniquement le unlink, etc, etc mais rien à faire.. Si j'upload une image .png, j'aurai 1.png, ensuite si j'upload une image .jpeg, un autre fichier va se créer, nommé 1.jpeg
J'ai essayé la conversion d'image en PNG mais la librairie GD n'est carrément pas mon fort, j'ai vraiment du mal à la comprendre.
J'ai testé cela (à la place du unlink) :
imagepng("/profil/membres/avatars/".$_SESSION['id'].'.'.$extensionUpload);
mais ça ne fonctionne pas non plus..
N'auriez-vous pas une piste en plus à me donner ? Je sais que vous m'en avez déjà donné pas mal mais là, je suis vraiment bloqué...
Merci à tous !
Boris95098