BlueGEEK Journal

Accueil > Manip’s > PHP > Renommer des fichiers en ligne à la mode UNIX

PHP

Renommer des fichiers en ligne à la mode UNIX

rename

dimanche 21 novembre 2010, par bluegyn_spip

Si Windows admet les espaces et les diacritiques, le serveur UNIX est beaucoup plus intransigeant, ce petit script en ligne permet une adaptation automatique des noms de fichiers Windows à la Mode UNIX


- Une boucle parcoure les fichiers du dossier courant, et analyse leur noms avec Str_Replace

  • Si une occurrence de caractère indésirable est trouvé
    • Par exemple l’espace
  • Alors il est remplacé par un trait de soulignement

- Le cas des diacritiques est plus complexes car il faut les convertir en entité HTML qui est variable selon l’encodage de le page

  • C’est donc le code Héxadécimal du caractère qui est injecté dans la fonction htmlspecialchars avec une adaptation au format d’encodage Iso-8859-1.

- Il suffit ensuite de renommer le fichier en ligne par Rename


- Attention : La syntaxe des variables est sensible à la Casse