PHP Renommer un fichier uploadé

WRInaute occasionnel
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??
 
WRInaute occasionnel
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...
 
WRInaute occasionnel
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?
 
WRInaute passionné
$nom_final=$nom.$prenom.".doc";

Assure toi de l'unicité du nom : les homonymes, ça existe :wink:
 
WRInaute occasionnel
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;
 
Discussions similaires
Haut