Aller au contenu

Sujets conseillés

Posté

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.

Posté

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 ;)

Posté

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 :mad2:

Va peut etre falloire que j'utilise quant meme les explode/implode :evil:

[/edit]

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...