Valider les noms de fichier

Résolu
cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 - 13 févr. 2007 à 23:37
cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 - 14 févr. 2007 à 13:58
    Saluté ...
je cherche une expression régulière qui me permettre de verrifier qu'un nom de fichier est bien valide pour le web (tout en minuscules, pas d'accents, pas d'espaces ni de carractères spéciaux, un seul point avant une extension) et éventuellement une fonction pour renommer ce fichier selon ce standard si il est mal nommé (suppréssion des carractères interdits, remplacement des espaces par underscore et des accents par les lettres non accentuées...) alors voila ... je me demandais si quelqu'un n'avais pas vu trainer ce genre de fonctions...
Merci bcp par avance
@++

3 réponses

lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
14 févr. 2007 à 10:13
Expression régulière permettant de valider un nom de fichier :

preg_match("#^[a-z0-9]+\.[a-z]+$#",maVariable).

Si la fonction renvoit 1, c'est que le nom du fichier est valide.

Pour remplacer les caractères non-valide, il faut voir du coté de la fonction preg_replace()
Petit tutorial sur les expression regulière : ici
3
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
14 févr. 2007 à 10:01
Yop!
J'utiliserais cette regexp:
if( ereg( '^[a-z0-9_]+\.[a-z]+$', $file ) )

Accepte pour le corps: a-z 0-9 _
Accepte pour extension: a-z

C'est basique mais ca devrait jouer!

Pour le reste, tu fais un strreplace avec des caractères accentués --> caractères normaux. Ensuite, tu peux re parcourir toute la chaîne et transformer chaque carractère interdit qui reste en _

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 2
14 févr. 2007 à 13:58
    merci à vous !
j'ajouterai juste les chiffres aussi dans l'extension pour les fichiers MP3 par ex ;)
merci
@+
0
Rejoignez-nous