Comment enlever les point dans les noms de fichiers lors de upload

Eléphant du PHP | 331 Messages

22 avr. 2008, 22:36

Bonjour,

J'aimerais savoir Comment enlever les point dans les noms de fichiers avant l'upload sans enlever le point qui sépare le nom de fichier de l'extension.

Voici un exemple de nom de fichier à enlever les points:

107_PR.03.04.11_Proced.d-intervention_suivi_et_traitement_travailleurs_exposes....pdf

Merci!

Eléphant du PHP | 353 Messages

23 avr. 2008, 10:02

en fait tu ne peut pas le modifier "avant" l'upload mais après.

Tu pourrais essayer quelque chose du genre :
$file = "test.essai.php";
$extension = substr($file,strrpos($file, "."));
$file2 = substr($file,0,strrpos($file, "."));
$final_file = str_replace('.','',$file2).$extension;
quelque chose du genre.. mais c'est vite fait.
Du reg exp pourrait sans doute t'aider un peu mieux.

ViPHP
ViPHP | 4674 Messages

23 avr. 2008, 11:31

Hey :),

Le problème récurrent avec les extensions c'est qu'un fichier peut en comporter plusieurs. Prenons l'exemple du .tag.gz (certes, il s'abbrège en .tgz), mais on a également .tar.bz2 etc.

Dans l'idéal, on récupèrerait le type mime (via l'extension FileInfo de PHP), et tu associes ce type à une extension. Tu extraits l'extension, et tu remplaces tous tes points, puis tu réajoutes l'extension (précédemment extraite).

Dans l'absolu maintenant, tu limites en général les téléchargements à un certain nombre d'extension. Donc tu peux appliquer ça plus facilement. Exemple : pour chaque extension tolérée, on teste la chaîne avec la fin du nombre du fichier, si ça correspond pour la plus grande extension (car .gz matche aussi bien que tar.gz), alors tu as trouvé ton extension. Tu l'extraits, tu remplaces tes points, tu rajoutes l'extension.

Oui c'est un peu lourd, mais ça se fait très bien. Le problème c'est qu'on ne peut pas vérifier le type d'un fichier en se basant seulement sur son extension. Je te conseille donc vivement d'utiliser l'extension FileInfo qui pourrait t'être utile.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 353 Messages

23 avr. 2008, 11:36

Merci HyWan pour l'info.
Va falloir que je me mette à cela aussi tiens..