Page 1 sur 1

Modifier le nom d'un fichier en gardant l'extension

Posté : 27 août 2009, 09:33
par psitt64
bonjour,

je suis débutant est j'ai un projet de upload des fichiers avec l'addresse mail que la personne aura tapé sur le site . Mais je doit rajouter un plus "+" avant l'extension.Sachant que l'extension est jamais la même mais on c'est quel fait 3 caractères.



voici un morceau de la fonction
(move_uploaded_file($_FILES['iso']['tmp_name'], "c:/Francais/" . $email."+.iso"))

L'inconvénient de cette fonction c'est qu'il change mon extension automatiquement en iso est je voudrai qui garde le même extension que d'origine:

exemple
j'ai un fichier xp.nrg si je l'upload à la fin j'ai un fichier qui se nomme adressemail.iso alors que je voudrai adressemail.nrg

Quelqu'un pourrai m'aider? En vous remerciant d'avance.
david

Re: Modifier le nom d'un fichier en gardant l'extension

Posté : 27 août 2009, 13:08
par thehawk
Voici une fonction qui t'aidera :
function ext ($nomFichier)
{
$array = explode('.' , $nomFichier);
return array_pop($array); // array_pop permet de retourner le dernier élément d'un tableau , donc l'extension du fichier fournit 
}
Qui s'utilise comme ceci :
echo ext('jesuisunfichier.iso'); // Retournera iso.

(move_uploaded_file($_FILES['iso']['tmp_name'], "c:/Francais/" . $email."+.iso"))
deviendrait :
move_uploaded_file($_FILES['iso']['tmp_name'], "c:/Francais/" . $email.'+.'.ext($_FILE['iso']['name']))
Code fait de tête , en théorie cela marche :D ... en théorie
Bye Hawk

Re: Modifier le nom d'un fichier en gardant l'extension

Posté : 27 août 2009, 14:07
par psitt64
Quand je remplace ma ligne : (move_uploaded_file($_FILES['iso']['tmp_name'], "c:/Francais/" . $email."+.iso"))
par ta ligne sa fonctionne pas : (move_uploaded_file($_FILES['iso']['tmp_name'], "c:/Francais/" . $email.'+.'.ext($_FILE['iso']['name']))

je vois pas a quoi sa peut servir
function ext ($nomFichier)
{
$array = explode('.' , $nomFichier);
return array_pop($array); // array_pop permet de retourner le dernier élément d'un tableau , donc l'extension du fichier fournit
}

echo ext('jesuisunfichier.iso'); // Retournera iso.

Re: Modifier le nom d'un fichier en gardant l'extension

Posté : 27 août 2009, 17:14
par Superpilou
La fonction basename() en php retourne seulement le nom du fichier sans l'extension.
Ca peut t'aider dans ta recherche je pense.

Re: Modifier le nom d'un fichier en gardant l'extension

Posté : 27 août 2009, 17:39
par thehawk
La fonction prend le nom du fichier,
le coupe en fonction du .
et retourne le dernier element donc par conséquent l'extension du fichier d'origine.

Montre moi comment tu as implanter le code que je t'ai fourni le tout entre les balise

Merci Hawk