PHP Renommer un fichier uploadé

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par webac, 5 Mars 2007.

  1. webac
    webac WRInaute occasionnel
    Inscrit:
    4 Mars 2005
    Messages:
    385
    J'aime reçus:
    0
    Bonjour,

    voici mon script d'upload un peu bidouillé je l'avoue mais il fonctionne:

    Code:
    <?php 
    // recuperation des données du formulaire
    if(isset($_POST['poste']))                $poste=$_POST['poste'];
    else      $poste="";
    
    if(isset($_POST['mr']))                   $mr=$_POST['mr'];
    else      $mr="";
    
    if(isset($_POST['nom']))                  $nom=$_POST['nom'];
    else      $nom="";
    
    if(isset($_POST['prenom']))               $prenom=$_POST['prenom'];
    else      $prenom="";
    
    if(isset($_POST['adresse']))              $adresse=$_POST['adresse'];
    else      $adresse="";
    
    if(isset($_POST['cp']))                   $cp=$_POST['cp'];
    else      $cp="";
    
    if(isset($_POST['ville']))                $ville=$_POST['ville'];
    else      $ville="";
    
    if(isset($_POST['email']))                $email=$_POST['email'];
    else      $email="";
    
    if (isset($_FILES['upload'])) 
    { 
    //$_FILES existe on récupère les infos qui nous intéressent 
    $upload=$_FILES['upload']['name'];//nom réel de l'image 
    $size=$_FILES['upload']['size']; //poids de l'image en octets 
    $tmp=$_FILES['upload']['tmp_name'];//nom temporaire de l'image (sur le serveur) 
    $type=$_FILES['upload']['type'];//type de l'image 
    //On récupère la taille de l'image 
    list($width,$height)=getimagesize($tmp); 
    if (is_uploaded_file($tmp)) //permet de vérifier si le upload a été uplodé via http 
    { 
    //vérification du type de l'img, son poids et sa taille 
    if ($type="data/doc" && $size<=10000000 && $width<=100000 && $height<=100000 ) 
    { 
    // type mime gif, poids < à 20500 octets soit environ 20Ko, largeur = hauteur = 100px 
    //Pour supprimer les espaces dans les noms de uploads car celà entraîne une erreur lorsque vous voulez l'afficher 
    $upload = preg_replace ("` `i","",$upload);//ligne facultative :) 
    //On vérifie s'il existe une image qui a le même nom dans le répertoire 
    if (file_exists('./upload/'.$upload)) 
    { 
    //Le upload existe on rajoute dans son nom le timestamp du moment pour le différencier de la première (comme cela on est sûr de ne pas avoir 2 images avec le même nom :) ) 
    $nom_final= preg_replace("`.doc`is",date("Y-m-d-H-i-s").".doc",$upload); 
    } 
    else { 
    $nom_final=preg_replace("`.doc`is",date("Y-m-d-H-i-s").".doc",$upload);  //l'image n'existe pas on garde le même nom 
    } 
    //on déplace l'image dans le répertoire final 
    move_uploaded_file($tmp,'./upload/'.$nom_final); 
    //Message indiquant que tout s'est bien passé 
    echo "Votre document nous est bien parvenu!<br/>"; 
    } 
    else { 
    //Le type mime, ou la taille ou le poids est incorrect 
    echo 'Votre image a été rejetée (poids, taille ou type incorrect)'; 
    } 
    } 
    } 
    ?>
    actuellement je reçcois le fichier sous la forme nomduficieroriginal+date et
    je sohaiterais modifier le nom du fichier uploadé par $nom$prenom.doc


    avez-vous une idée??
     
  2. biscuit
    biscuit WRInaute occasionnel
    Inscrit:
    5 Juin 2006
    Messages:
    425
    J'aime reçus:
    0
    Salut, c'est ici que ça se passe :

    Code:
    move_uploaded_file($tmp,'./upload/'.$nom_final);
    
    il te suffit de donner la valeur $nom.$prenom à $nom_final...
     
  3. webac
    webac WRInaute occasionnel
    Inscrit:
    4 Mars 2005
    Messages:
    385
    J'aime reçus:
    0
    salut biscuit et merci pour ta réponse juste une autre petite question le nom final est bien $nom$prenom mais je n'ai pas l'extension est-ce normal?
     
  4. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    $nom_final=$nom.$prenom.".doc";

    Assure toi de l'unicité du nom : les homonymes, ça existe :wink:
     
  5. biscuit
    biscuit WRInaute occasionnel
    Inscrit:
    5 Juin 2006
    Messages:
    425
    J'aime reçus:
    0
    Oui c'est normal que tu n'aies pas l'extension, il faut la récupérer d'abord:

    Code:
    $extension=strrchr($tmp,'.');
    $extension=substr($extension,1) ; 
    et ensuite ton nom de fichier sera:

    Code:
    $fichier = $nom . $prenom . $extension;
     
Chargement...
Similar Threads - PHP Renommer fichier Forum Date
Rewriting pour renommer des pages html ou php ? URL Rewriting et .htaccess 8 Avril 2010
renommer index.php URL Rewriting et .htaccess 31 Mai 2007
renommer .php en .html URL Rewriting et .htaccess 9 Mai 2006
question PHP : déplacer et renommer une image Développement d'un site Web ou d'une appli mobile 3 Janvier 2006
[phpBB] renommer son repertoire ADMIN : comment faire ? Administration d'un site Web 13 Mai 2005
PHP v8.2 fonction utf8_decode déprécié Développement d'un site Web ou d'une appli mobile 15 Novembre 2022
Bien gérer un script PHP un peu long Développement d'un site Web ou d'une appli mobile 12 Octobre 2022
En PHP : enregistrer un id de page/user variable. Développement d'un site Web ou d'une appli mobile 3 Octobre 2022
Indent en mode PHP ? Développement d'un site Web ou d'une appli mobile 9 Juin 2022
Arborescence de classes PHP et séquentialité. Développement d'un site Web ou d'une appli mobile 16 Mai 2022
Afficher des infos depuis plusieurs page en PHP Développement d'un site Web ou d'une appli mobile 23 Mars 2022
Sites de scripts PHP, jQuery, Ajax, etc. Le café de WebRankInfo 20 Mars 2022
Détecter arrêt user d'un script PHP ? Développement d'un site Web ou d'une appli mobile 28 Décembre 2021
sessions PHP sans cookies ? Développement d'un site Web ou d'une appli mobile 26 Décembre 2021
Afficher la dernière version d'un fichier php ? Développement d'un site Web ou d'une appli mobile 8 Novembre 2021
PHP / CURL : interrogation page tiers ne fonctionne plus Développement d'un site Web ou d'une appli mobile 2 Octobre 2021
Actualiser un script php toutes les 10 secondes Développement d'un site Web ou d'une appli mobile 6 Septembre 2021
PHP : problème de comparaison égalité dans boucle FOR avec incrément décimal de 0.1 Développement d'un site Web ou d'une appli mobile 26 Août 2021
Cache Etag nginx et PHP ? Administration d'un site Web 7 Août 2021
Fichier avec ou sans extension php pour le référencement Crawl et indexation Google, sitemaps 3 Août 2021