Valider les noms de fichier [Résolu]

cs_caviar 329 Messages postés samedi 4 janvier 2003Date d'inscription 29 mars 2015 Dernière intervention - 13 févr. 2007 à 23:37 - Dernière réponse : cs_caviar 329 Messages postés samedi 4 janvier 2003Date d'inscription 29 mars 2015 Dernière intervention
- 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
@++
Afficher la suite 

3 réponses

Répondre au sujet
lesdis 401 Messages postés mercredi 19 avril 2006Date d'inscription 6 juin 2011 Dernière intervention - 14 févr. 2007 à 10:13
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de lesdis
coockiesch 2268 Messages postés mercredi 27 novembre 2002Date d'inscription 13 septembre 2013 Dernière intervention - 14 févr. 2007 à 10:01
0
Utile
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???"
Commenter la réponse de coockiesch
cs_caviar 329 Messages postés samedi 4 janvier 2003Date d'inscription 29 mars 2015 Dernière intervention - 14 févr. 2007 à 13:58
0
Utile
    merci à vous !
j'ajouterai juste les chiffres aussi dans l'extension pour les fichiers MP3 par ex ;)
merci
@+
Commenter la réponse de cs_caviar

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.