destroyedlolo Posté 12 Avril 2007 Posté 12 Avril 2007 Bonjour, Histoire d'eviter les probleme d'accent et autre joyeusetes, j'utilise rawurlencode() ... sauf que cette brave fonction encore aussi les '/' en temps que %2F ce qui fait que je n'accede plus au sous repertoire. Existe-t-il une facon de d'encoder les URL sans que '/' soit touche ? Pour le moment je re-transforme les %2F en / apres l'encodage, mais je trouve ca crade. Merci et A+ Lolo PS: J'ai bien evidement une fonction qui interdit l'usage du '/' dans les noms de fichiers ou de repertoires.
Sarc Posté 12 Avril 2007 Posté 12 Avril 2007 Salut Tu peux donner le code que tu utilises avec une variable d'essai, pour que je vois exactement ce que tu fais ? Sinon dans la page de rawurlencode sur php.net, il y a un commentaire qui explique ce qu'il faut faire : You can encode paths using: <?php $encoded = implode("/", array_map("rawurlencode", explode("/", $path))); ?> Au pire tu te crées une fonction "encode_url" qui fait ça, comme ça tu vois pas la différence au niveau de ton programme
destroyedlolo Posté 13 Avril 2007 Auteur Posté 13 Avril 2007 Merci Sarc pour ta reponse. Le code que j'utilise pour le moment est str_replace('%2F','/',rawurlencode( $fichier )); Ca fonctionne et ca m'a l'aire plus optimise que l'exemple poser sur php.net [edit] Je viens aussi de voir que ca me fait une belle faille de securite Va peut etre falloire que j'utilise quant meme les explode/implode [/edit]
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant