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 et Renomage


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Par défaut [Upload] Upload et Renomage
    Bonjour j'ai un script d'upload qui marche parfaitement, mais j'aimerais le modifier afin de renomer le fichier de facon obligatoire. Pour qu'a chaque fois que j'upload il n'y ai qu'un seul fichier sur le serveur qui porte toujours le même nom.

    Voici mon code :

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
     
    <?php 
     
    if(isset($_FILES['fiche'])) 
    { 
    unset($erreur); 
    $extensions_ok = array('xls'); 
    $taille_max = 1000000; 
    $dest_dossier = './FicheMaitre/'; 
     
    // vérifications 
    if( !in_array( substr(strrchr($_FILES['fiche']['name'], '.'), 1), $extensions_ok) ) 
    { 
    $erreur = 'Veuillez s&eacute;lectionner un fichier de type xls !'; 
    } 
    elseif( file_exists($_FILES['fiche']['tmp_name']) 
    and filesize($_FILES['fiche']['tmp_name']) > $taille_max) 
    { 
    $erreur = 'Votre fichier doit faire moins de 500Ko !'; 
    } 
    // copie du fichier 
    if(!isset($erreur)) 
    { 
    $dest_fichier = basename($_FILES['fiche']['name']); 
     
     
    // formatage nom fichier 
    // enlever les accents 
    $dest_fichier = strtr($dest_fichier, 
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); 
     
    // remplacer les caracteres autres que lettres, chiffres et point par _ 
    $dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier); 
     
    // copie du fichier 
    move_uploaded_file($_FILES['fiche']['tmp_name'], $dest_dossier.$dest_fichier); 
     
     
    $Message = 'Fiche envoyé';
    header("location:ModifModele.php?Message=$Message");
     
    } 
    else{ 
    echo($erreur); 
    } 
    } 
    ?>
    Merci d'avance.

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Si je ne me trompe pas il suffit de jouer sur cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    move_uploaded_file($_FILES['fiche']['tmp_name'], $dest_dossier.$dest_fichier);
    a la place de "$dest_dossier.$dest_fichier" tu mets le nom que tu veux, mais pense a verifier que le fichier n'existe pas avant.
    s'il existe tu n'auras qu'a le supprimer. Ou au pire, tu le renomme et s'il y a une merde au moins tu garderas une trace.

  3. #3
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    salut,
    avant de faire ton move_uploaded tu n'as qu a faire un is_file et si il existe deja, tu le renomme en rajoutant une chaine aleatoire en utilisant mt_srand par exemple

    http://fr2.php.net/manual/fr/function.mt-srand.php

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Par défaut
    Trouvé !!! Merci

    suffisait de choisir le nom de fichier à utiliser dans le move_uploaded

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    // copie du fichier 
    move_uploaded_file($_FILES['fiche']['tmp_name'], $dest_dossier."base.xls");

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Upload] Upload ftp free
    Par joquetino dans le forum Langage
    Réponses: 9
    Dernier message: 09/10/2005, 02h28
  2. [Upload] upload de jpg et bmp impossible
    Par cmoijulie dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2005, 09h10
  3. [Upload] Upload : erreur et envoi multiple
    Par linou dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 09h41
  4. [Upload] upload multiple
    Par mat10000 dans le forum Langage
    Réponses: 3
    Dernier message: 16/06/2005, 17h07
  5. [upload] Upload d'un dossier
    Par Touxe dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/02/2005, 16h30

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