Page 1 sur 1

prob avec upload

Posté : 15 mars 2005, 14:15
par arnaud322
Salut Voila g le script suivant et je voudrais savoir comment faire pour renomer l image de +1 afin d eviter que deux images porte le meme nom merci de bien vouloir me repondre

Code : Tout sélectionner

$repertoire="./fichiers/"; $destination=$repertoire.$photo_name; if (is_uploaded_file($photo)) { move_uploaded_file($photo,$destination); echo"<center><b>Votre annonce a bien été ajoutée avec votre photo: $photo_name .</b></center>"; } else {$photo_name="no.gif"; echo"<center><b>Votre annonce a bien été ajoutée.</b></center>"; } // ---------- Enregistrement des données dans la base mysql_query("INSERT INTO annonces VALUES('', '" . $pseudo . "', '" . $pass . "', '" . $mail . "', '" . $categorie . "', '" . $titre . "', '" . $description . "', '" . $prix . "', '" . $date . "', '" . $photo_name . "')"); } // ---------- Déconnexion de la base MySQL mysql_close(); ?>
[/code]

Posté : 16 mars 2005, 18:28
par tanky
$repertoire="./fichiers/";

if (is_uploaded_file($photo))
{
$cpt=0;
while(is_file($repertoire.$photo_name)) {
    $cpt++;
    $photo_name=$cpt."_".$photo_name;
    }
$destination=$repertoire.$photo_name;
move_uploaded_file($photo,$destination);
echo"<center><b>Votre annonce a bien été ajoutée avec votre photo: $photo_name .</b></center>";
}
else
{
$photo_name="no.gif";
echo"<center><b>Votre annonce a bien été ajoutée.</b></center>";
}

si tu envoi plusieurs fois le même fichier tu aura
fichier.jpg
1_fichier.jpg
2_fichier.jpg
3_fichier.jpg
....

Posté : 16 mars 2005, 20:11
par Xenon_54
Essaie plutôt d'utiliser le dernier ID inséré dans ta requête SQL. mysql_insert_id() retourne le dernier ID généré par un champ AUTO_INCREMENT lors d'une insertion.

Tu pourrais ainsi vérifier que l'upload s'est bien déroulé, insérer ton enregistrement, récupérer l'ID généré pour ensuite l'utiliser afin de nommer ton image de manière unique.

Je te conseille également d'utiliser les variables superglobales lorsqu'il est question d'upload $_FILES.

Plus sur l'upload ici: Upload de fichiers (par HTTP)
:arrow: La variable superglobale $_FILES

;)