Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1306 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Lire un répertoire UTF-8

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Lire un répertoire UTF-8

n°1599135
jey_skywak​er
Jedi SWU
Posté le 13-08-2007 à 19:03:41  profilanswer
 

Hello,
 
Je cherche à lire sur mon site en PHP un répertoire de la façon suivante :
 

Code :
  1. if ($repetoire = opendir($rep_image . $chemin))
  2. {
  3.        while($fichier = readdir($repetoire))
  4.        {
  5.              (etc...)
  6.        }
  7. }


 
Cela fonctionne pour le réperoire racine, mais certains répertoires ont des caractères accentués, et mon site étant en UTF-8, je ne parviens pas à lire ces répertoires. J'ai tenté d'encoder l'url passée à opendir() via la fonction utf8_encode(), mais ça n'a rien donné :(
 
Qqun aurait-il une idée ?
 
Merci !
Jey.


---------------
L'univers de Starwars est désormais à votre portée !
mood
Publicité
Posté le 13-08-2007 à 19:03:41  profilanswer
 

n°1599293
durkheim
Posté le 14-08-2007 à 10:36:57  profilanswer
 

Je uppe car intéressé aussi.

n°1599294
antac
..
Posté le 14-08-2007 à 10:38:10  profilanswer
 

J'ai déja eu ce probleme... J'ai pas trouvé de solution a part renommé les répertoires

n°1599298
durkheim
Posté le 14-08-2007 à 10:40:55  profilanswer
 

Pareil mais j'ai très honte...

n°1599304
antac
..
Posté le 14-08-2007 à 10:46:47  profilanswer
 

disons qu'en ce qui me concerne j'ai pris l'habitude de ne jamais mettre des caratères spéciaux dans les noms de fichier ou répertoire

n°1599553
jey_skywak​er
Jedi SWU
Posté le 14-08-2007 à 18:53:34  profilanswer
 

Argh ^^
Le souci étant que c'est une sortie de galerie multimédia, contenant des dizaines et des dizaines de répertoire, qui sont eux-mêmes appellés sur pas mal de pages...Donc c'est chaud de rechanger les noms :D

n°1599621
CyberDenix
Posté le 14-08-2007 à 23:29:03  profilanswer
 

Je pense que tu dois modifier l'encodage interne de PHP :
http://fr.php.net/mb_internal_encoding


---------------
Directeur Technique (CTO)
n°1599751
jey_skywak​er
Jedi SWU
Posté le 15-08-2007 à 12:27:14  profilanswer
 

Merci !
J'ai réussi en utilisant plusieurs choses :
 

Code :
  1. mb_internal_encoding("UTF-8" );


 

Code :
  1. utf8_decode / utf8_encode


 
et une fonction maison :
 

Code :
  1. $chemin_new = str_replace("é", "%E9", $chemin);
  2. $chemin_new = str_replace("é", "%E9", $chemin_new);
  3. $chemin_new = str_replace("è", "%E8", $chemin_new);
  4. $chemin_new = str_replace("ù", "%F9", $chemin_new);
  5. $chemin_new = str_replace("ô", "%F4", $chemin_new);
  6. $chemin_new = str_replace("î", "%EE", $chemin_new);


 
C'est assez moche comme code mais au moins ça fonctionne ^^

n°1600199
CyberDenix
Posté le 16-08-2007 à 21:01:15  profilanswer
 

Je te conseille d'utiliser des tableaux de caractères plutot que de simples caractères avec str_replace.
1) C'est beaucoup plus rapide.
2) C'est plus court : tu n'auras qu'un seul appel à str_replace.


Message édité par CyberDenix le 16-08-2007 à 21:02:27

---------------
Directeur Technique (CTO)
n°1600242
jey_skywak​er
Jedi SWU
Posté le 16-08-2007 à 23:14:12  profilanswer
 

étant néophythe en PHP (je viens du monde ASP), omment cela se code t'il en PHP ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Lire un répertoire UTF-8

 

Sujets relatifs
Lire un fichier LDF [résolu][Php] Carte de membre imprimer: pistes?
Erreur PHP - débutantProblème droits d'accès répertoire en C#
[PHP] if ping =Portail PHP pour club sportif ?
[PHP] Couper une chaîne avec caractères html ?[PHP] Solde avec séparateur de milliers et 2 chiffres après la virgule
Comment lire le tag "enclosure" avec simplexml?Les cookies avec PHP
Plus de sujets relatifs à : [PHP] Lire un répertoire UTF-8


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR