PHP scandir et accents - PHP - Programmation
Marsh Posté le 09-09-2010 à 17:38:12
http://pastebin.com/EP079KnZ ?
edit : ce n'est pas de moi
Marsh Posté le 09-09-2010 à 17:40:29
ReplyMarsh Posté le 09-09-2010 à 17:41:37
flo850 a écrit : http://pastebin.com/EP079KnZ ? |
Tu as cliqué sur le spoiler ?
Spoiler : Bon, j'ai peut-être mal expliqué sur pastebin |
Nico5779 a écrit : utf8_encode ? |
J'ai déjà essayé, ça ne fonctionne pas. Le nom du fichier est déjà en UTF-8.
Marsh Posté le 09-09-2010 à 17:42:55
à non
amsi ton code dis que ça marche , je suis pas allé plus loin
Marsh Posté le 09-09-2010 à 17:45:23
Oui, je donnais un exemple qui fonctionnait (mais ce n'est pas avec scandir )
Edit: on peut pas éditer sur pastebin ?
Marsh Posté le 09-09-2010 à 22:33:42
BeGiNNeR02 a écrit : J'ai déjà essayé, ça ne fonctionne pas. Le nom du fichier est déjà en UTF-8. |
et ta page est en utf-8 aussi (encodage + en tête)
Marsh Posté le 10-09-2010 à 01:52:40
ReplyMarsh Posté le 10-09-2010 à 01:58:23
fais comme ca
/[^a-z0-9_-]/ui
alnum en mode utf-8 ca comprend aussi les accents
sinon ca sert a quoi ton code ? avec la lib SPL ca serait beaucoup plus simple de reproduire la même chose
Marsh Posté le 10-09-2010 à 09:59:51
Je commente mon morceau de code (qui est dans un fichier en UTF-8, no BOM) :
Code :
|
J'ai changé la regex, mais ça donne le même résultat (aux parenthèses près).
stealth35 a écrit : fais comme ca |
De quelle manière ?
Marsh Posté le 10-09-2010 à 15:44:50
si ton but c'est de récupérer les fichiers qui comportent les caractères non autorisé,
Filesystemiterator + FilterIterator ca devrait le faire
Marsh Posté le 10-09-2010 à 16:14:28
Je vais regarder ça
Sinon, l'utilisation que j'en fais c'est : un utilisateur peut envoyer un ZIP, le système le dézippe et vérifie les fichiers (et en particulier leur nom) qui étaient à l'intérieur (après un scandir, donc, du répertoire dans lequel on a dézippé). Si il y a des caractères non autorisés, je dois dire lesquels... d'où ma regex avec preg_match_all.
Marsh Posté le 09-09-2010 à 17:25:34
Je souhaite récupérer des caractères que je considère comme non-autorisés pour ensuite les indiquer à l'utilisateur.
Ma regex correspond à ce que je veux, et le résultat est ce que j'attends. Parfait.
Par contre, dans mon contexte d'utilisation (je récupère des noms de fichier en faisant un scandir), j'obtiens ça :
Il semblerait que ça proviennent de la fonction scandir elle-même ( http://fr2.php.net/manual/fr/funct [...] .php#96140 ). Même problème avec readdir.
Comment je peux faire en sorte que ça fonctionne ?
Et si Gatsu35 passe par là : http://pastebin.com/EP079KnZ