Page 1 sur 1

Noms Fichiers et Dossiers

Posté : 07 nov. 2010, 12:50
par FredoMkb
Bonjour à tous :)

Me voilà avec des questions très basiques mais que mes différentes recherches n'ont pas entièrement "clairement éclairci" :shock:

Sur le projet sur lequel je trav... #-o perd mon temps en ce moment :P , je dois créer des fichiers et des dossiers directement sur le serveur (fopen, fwrite, mkdir, etc.).

Or, le nom de ces éléments à créer sont fournis par l'utilisateur, mais comme il est souvent difficile de lui faire respecter certaines contraintes, je me trouve avec des noms contenant des accents, des espaces et parfois même avec des caractères farfelus (dollar, pourcentage, slash et j'en passe).

Donc, mes questions sont :

- Quels sont les caractères interdits ou susceptible de poser des problèmes pour nommer fichiers et dossiers ?

- Existe-t-il une méthode simple et efficace pour nettoyer les noms fournis afin de les rendre compatibles ?

Merci à tous pour votre aide :)

Re: Noms Fichiers et Dossiers

Posté : 07 nov. 2010, 13:03
par Berzemus
Tu crées une fonction de normalisation qui:

* enlève tout ce qui n'est pas une lettre ou un chiffre
* transforme en minuscules
* limite la taille à une dizaine de caractères


En gros, voilà. Sinon, il faudra aussi vérifier que le dit dossier (ou fichier) n'existe pas déjà.

Au fait, d'habitude on préfère utiliser une base de données pour stocker des chôses faites par les utilisateurs. C'est mieux contrôle de cette façon, et l'utilisateur n'a pas besoin de savoir que les dossiers qu'il croit créer sont en fait des champs dans une DB (mais ça dépend du projet bien sur)

Re: Noms Fichiers et Dossiers

Posté : 07 nov. 2010, 13:38
par FredoMkb
Merci Berzemus pour ta réponse :)

J'ai déjà une petite fonction qui fait quelques nettoyages, mais je me demandais s'il y avait une méthode directe (fonction ?) pour faire ça...

Une autre petite question, pour traiter les caractères spécieux, il m'est venu l'idée d'utiliser la fonction "rawurlencode()", mais je pense que la présence du caractère pourcentage "%" n'est pas bien conseillée pour ce type d'utilisation, non ?

Tu dis que la longueur maximum doit se limiter à 10 caractères ? :shock: ... ça c'est plutôt embêtant en fait... faut que je réfléchisse alors à un système de numérotation peut-être (mince, j'avais pas pensé à ça moi :( , j'ai bien fais de passer par ici en tout cas =D> )

Sinon, pour le moment ce projet n'est pas destiné à tourner avec une BDD (demande du "client-copain qui voudrait tout... gratos" :non: ), mais nous verrons par la suite si l'usage qui en sera fait ne nous conduira pas à envisager cette solution.