Valider les noms de fichier [Résolu]

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

Votre réponse

3 réponses

Meilleure réponse
lesdis
Messages postés
401
Date d'inscription
mercredi 19 avril 2006
Dernière intervention
6 juin 2011
- 14 févr. 2007 à 10:13
3
Merci
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

Merci lesdis 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de lesdis
coockiesch
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Dernière intervention
13 septembre 2013
- 14 févr. 2007 à 10:01
0
Merci
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
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Dernière intervention
29 mars 2015
- 14 févr. 2007 à 13:58
0
Merci
    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.