MAJ d'une image upload par formulaire
Bonjour, dans mon formulaire j'upload une image en tant qu'avatar.
Lorsque je souhaite faire une MAJ, je peux la faire que si je n'ai qu'une image par défaut.
Si dans ma fiche j'ai déjà un avatar avec l'id de la fiche, il refuse d'écraser cette image et de me la remplacer par la nouvelle.
Je colle mes deux codes.
Code:
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
| //--->>> upload de la photo
//si fichier à uploader
if ($avatar_perso != NULL)
{
if (!empty($_FILES['avatar_perso']['tmp_name']) AND is_uploaded_file($_FILES['avatar_perso']['tmp_name'])) {
//vérif. poids du fichier
if(filesize($_FILES['avatar_perso']['tmp_name'])>30000){
echo("Erreur : taille supérieure à 30ko!");
}
else if(filesize($_FILES['avatar_perso']['tmp_name'])<30000) {
//Vérif type de fichier
list($largeur, $hauteur, $type, $attr)=getimagesize($_FILES['avatar_perso']['tmp_name']);
//Si pas Jpeg
if($type !=2 ) {
echo("Erreur : ce n'est pas un fichier JPEG!");
}
//Sinon : OK
else if($type===2) {
//on select le perso qui vient d'être ajouté:
$av_perso = mysql_query("Select id, nickFR FROM heros WHERE nickFR = '".mysql_real_escape_string($nickFR)."'");
$assoc_req = mysql_fetch_assoc($av_perso);
$id_perso = $assoc_req['id']; //id du nouveau perso = nom image
//on bouge le fichier sur le serveur
if(move_uploaded_file($_FILES['avatar_perso']['tmp_name'], 'images/avatars/'.intval($id_perso).'.jpg')) {
mysql_query("UPDATE heros SET image = '".mysql_real_escape_string($id_perso)."' WHERE id ='".mysql_real_escape_string($id_perso)."'");
}
else {
//Erreur
echo("Erreur lors du chargement...");
}
}
}
}
}
//-->> fin upload de la photo |
Le même code modifier pour faire une maj
Code:
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
| //si fichier à uploader
if ($avatar_maj != NULL)
{
if (!empty($_FILES['avatar_maj']['tmp_name']) AND is_uploaded_file($_FILES['avatar_maj']['tmp_name'])) {
//vérif. poids du fichier
if(filesize($_FILES['avatar_maj']['tmp_name'])>30000){
echo("Erreur : taille supérieure à 30ko!");
}
else if(filesize($_FILES['avatar_maj']['tmp_name'])<30000) {
//Vérif type de fichier
list($largeur, $hauteur, $type, $attr)=getimagesize($_FILES['avatar_maj']['tmp_name']);
//Si pas Jpeg
if($type !=2 ) {
echo("Erreur : ce n'est pas un fichier JPEG!");
}
//Sinon : OK
else if($type===2) {
//on bouge le fichier sur le serveur
if(move_uploaded_file($_FILES['avatar_maj']['tmp_name'], '../images/avatars/'.intval($idmaj).'.jpg')) {
mysql_query("UPDATE heros SET image = '".mysql_real_escape_string($idmaj)."' WHERE id ='".mysql_real_escape_string(
$idmaj)."'");
}
else {
//Erreur
echo("Erreur lors du chargement...");
}
}
}
}
}
//-->> fin upload |
grosso modo tous mes updates se font, mais j'ai l'impression que l'image n'est pas écrasée sur le serveur si elle a le même nom.
Merci de votre aide.