Valider les noms de fichier

[Résolu]
Signaler
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
29 mars 2015
-
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
29 mars 2015
-
    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

Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
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
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
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???"
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
29 mars 2015
3
    merci à vous !
j'ajouterai juste les chiffres aussi dans l'extension pour les fichiers MP3 par ex ;)
merci
@+