prob avec upload

arnaud322
Invité n'ayant pas de compte PHPfrance

15 mars 2005, 14:15

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]

Eléphant du PHP | 100 Messages

16 mars 2005, 18:28

$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
....
Script gratuit de videothèque: PhpMesFilms
sur http://phpmesfilms.dyndns.org/

Mammouth du PHP | 1885 Messages

16 mars 2005, 20:11

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

;)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP