cs_alucard82
Messages postés4Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention 4 août 2005
-
4 août 2005 à 11:01
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
4 août 2005 à 15:12
Lorsque j'upload un fichier image dans un fichier upload, qu'est ce que je dois écrire un peu près pour qu'il le renomme?
malik7934
Messages postés1154Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention15 août 200917 4 août 2005 à 11:16
Je te donne un exemple qui ajoute un indice au nom du fichier si celui-ci existe deja. Si tu upload un fichier appele truc.jpeg et qu'un fichier avec ce nom existe deja sur le serveur, le nouveau fichier est renomme truc_1.jpeg (si truc_1.jpeg existait deja, ce sera truc_2.jpeg, ...)
A toi ensuite de l'adapter selon tes besoins!
// pour recuperer le nom du fichier sans l'extension
function getFileName($fichier)
{
$pos = strrchr($fichier, '.');
$pos = strlen($pos);
$pos2 = strlen($fichier);
$pos3 = $pos2 - $pos;
$fichier = substr($fichier, 0, $pos3);
return $fichier;
}
// Le nom du fichier uploade
$filename = $_FILES['userfile']['name']; // userfile est le nom de l'input pour l'upload
if (file_exists($filename)){ // Si le nom existe déjà
$k=1; // pour l'indice
$newname = getFileName($filename);
$extension = substr($filename,strlen($newname)+1,strlen($filename)+1-strlen($newname));
$tmpname = $newname.'_1.'.$extension;
while (file_exists($tmpname)) {$tmpname = $newname."_".$k.'.'.$extension;$k++;}
$newname = $tmpname;
}
else { // Si le nom est libre
$newname = $filename;
}
et ensuite tu utilises newname pour sauver ton fichier...