IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Upload d'un fichier à nom unique


Sujet :

Langage PHP

  1. #1
    sebest777
    Invité(e)
    Par défaut [Upload] Upload d'un fichier à nom unique
    Bonjour,
    Utilisant l'upload de fichier "basique" j'aurais aimé faire en sorte que le fichier téléchargé porte toujours le même nom, par exemple 1.jpg. De mon niveau débutant et essayant de bidouiller je me suis casser les dents plusieurs fois, pourriez vous m'aider please....
    Voici mon code malheureux lol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php 
    $dossier = 'img/'; 
    $fichier = basename($_FILES['avatar']['name']); 
    $taille_maxi = 100000; 
    $taille = filesize($_FILES['avatar']['tmp_name']); 
    $extensions = array('.png', '.gif', '.jpg', '.jpeg'); 
    $extension = strrchr($_FILES['avatar']['name'], '.');  
    //Début des vérifications de sécurité... 
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau 
    { 
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...'; 
    } 
    if($taille>$taille_maxi) 
    { 
         $erreur = 'Le fichier est trop gros...'; 
    } 
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload 
    { 
         //On formate le nom du fichier ici... 
         $fichier = preg_replace('(gif$)','1', $fichier); 
         $fichier = preg_replace('(a-zA-Z0-9)','1', $fichier); 
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '', $fichier); 
         if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... 
         { 
              echo 'Upload effectué avec succès !'; 
         } 
         else //Sinon (la fonction renvoie FALSE). 
         { 
              echo 'Echec de l\'upload !'; 
         } 
    } 
    else 
    { 
         echo $erreur; 
    } 
    ?>

  2. #2
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    bonjour,

    si tu veux toujours le même nom pour ton fichier, c'est ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . "1.jpg")
    ++
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

  3. #3
    sebest777
    Invité(e)
    Par défaut
    Tout simplement....
    Un Grand Merci
    Sans vouloir abuser de ta gentillesse (si la réponse ne se fait pas je fermerai rapidement ce ticket) :
    Comment faire pour remplacer le fichier existant sans pour autant lui donner le même nom.
    En clair j ai déjà un fichier nommé x.jpg dans mon dossier et j'aimerais le remplacer par un fichier y.jpg (x.jpg étant definitivement effacé) ?

    Merci encore

  4. #4
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    salut,

    Pour effacer une image existante, il faut que tu connaisse son nom et la fonction c'est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unlink("x.jpg");//image jpg supprimmée
    ++
    LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle

  5. #5
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    Salut à tous,

    Par contre pour la vérification de l'extension c'est plus que moyen... Tu devrais utiliser la méthode suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    /* On va demander le type mime du fichier au serveur 
     * A condition que se soit un serveur Linux 
    */
    $TypeMime = system('file -i -b '.$_FILES['avatar']['tmp_name']);
    Et ensuite tu fait ta vérification avec un tableau des types mimes.

    Cordialement Inazo.

  6. #6
    sebest777
    Invité(e)
    Par défaut
    Merci à tous, tout roule à présent.
    Même la maitrise d'appel à un ID via MySQL comme nom de fichier ne m'est plus inconnu, FORMIDABLE

Discussions similaires

  1. [Upload] Upload d'un gros fichier + barre de progression
    Par Night_owl dans le forum Langage
    Réponses: 4
    Dernier message: 27/03/2008, 15h14
  2. [Upload] Upload de beaucoup de fichier sur 1&1
    Par stilobique dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2007, 13h01
  3. [Upload]Telechargement grâce à une servlet : nom du fichier
    Par xtremax3 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 23/11/2005, 22h25
  4. Réponses: 3
    Dernier message: 16/11/2005, 22h00
  5. [Upload] Tester si un fichier va être uploadé
    Par slowpoke dans le forum Langage
    Réponses: 3
    Dernier message: 14/09/2005, 19h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo