Forum Programmation.web Les caractères interdits

Posté par  .
Étiquettes : aucune
0
19
août
2005
Salut

j'ai lu de nombreux articles sur le net et ce forum sur les caractères interdit pour les nom de fichier.

Mais souvant cela est perdu dans de long discourt, que les débutant on du mal a suivre

est il possible de faire la liste synthétique des caractères interdit ou plutot autorisé pour un nom de fichier html ou php

Quels sont les caractères qui ne pose pas de probleme pour un nom de fichier, aussi bien au niveau des serveur (windows, unix, apache) que des url (exploreur, mozilla...) et que des systemes d'exploitation (windos, unix, linux et mac).
  • # Mon avis

    Posté par  (site web personnel) . Évalué à 4.

    D'une manière générale, un fichier quelqu'il soit devrait etre formé selon la regexp fort simple suivante: /\w+\.?\w*/

    Ce qui correspond en langage clair à
    un nom constitué de lettres entre a et z, minuscules/majuscules, underscore, tirets, et _eventuellement_ espaces (mais pour une page web c'est treees crade, c'est surtout pour accès depuis l'OS), et eventuellement un point puis une extension suivant les memes regles que le nom du fichier.

    M'enfin cet avis n'engage que moi.

    Avec des noms de fichiers de la sorte, pas de problèmes dû à l'encodage des accents et autres caractères exotiques.
    • [^] # Re: Mon avis

      Posté par  . Évalué à 1.

      C'est quoi les underscore
      • [^] # Re: Mon avis

        Posté par  . Évalué à 2.

        Parlons français que diable ;-) :

        underscore = tiret bas = _
      • [^] # Re: Mon avis

        Posté par  (site web personnel) . Évalué à 3.

        c'est ca : _

        touche 8 au dessus du 'u' et du 'i' sur un clavier normal

        Ca permet de marquer des espaces sans risque de facher le serveur web ou le filesystem capricieux : bdd_michu.tgz
        • [^] # Re: Mon avis

          Posté par  (site web personnel) . Évalué à 3.

          En complément je précise juste que pour google, l'underscore n'a pas valeur de séparateur de mot.

          Ainsi un le terme ou fichier "plop_plopp.txt" sera tokenizé en 2 mot-clés : plop_plopp et txt

          En revanche le tiret sépare bien. "plop-plopp.txt" sera donc tokenizé en plop, plopp, et txt

          Bon à savoir pour le référencement des pages de son site.
  • # RE

    Posté par  . Évalué à 1.

    y'a très peu de limitations, on peut quasiment tout faire, mais y'en a des marrants, genre:
    > touch -- *
    très pratique à supprimer!
    ou en plus pervers
    > touch -- "-rf *"
    à mettre dans $HOME, bien sûr. Un gars fatigué, et qui fait pas trop attention, tapera facilement la commande fatale (reste que TAB corrigera peut-être ça, ça dépend du shell).
  • # En règle générale...

    Posté par  (site web personnel) . Évalué à 2.

    si tu veux éviter les problèmes, n'utilise que les caractères suivants:
    lettres minuscules (de a à z)
    lettres majuscules (de A à Z)
    chiffres (de 0 à 9)
    underscore (_)
    tiret (-)
    point (.)

    Pas d'accents, pas d'espaces, pour des noms de fichiers sur un serveur web, c'est crado. Pense aussi à respecter la casse des caractères (en gros majuscules/minuscules) pour tes liens. Linux (en fait le système de fichiers utilisé sous linux) est sensible à la casse.

    Donc si tu as un lien vers un fichier:
    lien: href="Titi.html"
    nom du fichier: titi.html

    Ça passera si ton fichier est hébergé sous windows, mais pas sous linux. Prends donc la bonne habitude de tout mettre en minuscules, comme ça y a plus de problèmes, et ça fait moins moche en barre d'URL.
  • # Openweb est ton ami

    Posté par  (site web personnel) . Évalué à 2.

    Facile :
    http://www.openweb.eu.org/articles/caracteres_illegaux/(...)
    Avec un exemple de code PHP :
    http://uk.php.net/manual/fr/function.strtr.php(...)
    Et si tu fait du Templeet :
    ~defunc('demicrosoftize',~strtr(~sparam(1),
    "~chr(0x82)~chr(0x83)~chr(0x84)~chr(0x85)~chr(0x86)~chr(0x87)~chr(0x89)~chr(0x8a)~chr(0x8b)~chr(0x8c)~chr(0x8e)~chr(0x91)~chr(0x92)~chr(0x93)~chr(0x94)~chr(0x95)~chr(0x96)~chr(0x97)~chr(0x98)~chr(0x99)~chr(0x9a)~chr(0x9b)~chr(0x9c)~chr(0x9e)~chr(0x9f)",
    "'f\".**^~chr(0xa6)<~chr(0xbc)~chr(0xb4)''\"\"---~ ~chr(0xa8)>~chr(0xbd)~chr(0xb8)~chr(0xbe)")
    )

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.