Url encode

Fermé
Utf8man - Modifié par Utf8man le 7/01/2011 à 10:20
 Utf8man - 13 janv. 2011 à 13:49
Bonjour,


Mon probleme : J'ai des liens sur mon site pour afficher des pdf, et les noms de ceux-ci contiennent des accents.
Dans mon code je url_encode($pathpdf);
Quand je clique sur le lien je me retrouve avec une adresse comme-ci
Le+fichier+compl%26eacute%3Btement+faux.pdf 

Et il ne trouve pas l'adresse :/

Anyone silvousplait ?

Merki

7 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
7 janv. 2011 à 18:22
Salut.

Le+fichier+compl%26eacute%3Btement+faux.pdf
Apparemment, tu utilises les entités HTML.

Essaye avec ceci :
url_encode(html_entity_decode($pathpdf))
1
Skeletyon Messages postés 1552 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 30 décembre 2013 156
7 janv. 2011 à 10:29
Bonjour,

Simple question. Lors du clique vous faites un envoi vers une page de traitement je suppose?

Essayez donc un:
url_decode($_GET['variable']);

0
En fait pour expliquer toutes les étapes :

J'ai un fichier de config contenant une variable listant les path menant aux fichier pdf

Au chargement de la page, je parcours ma variable et j'affiche pour chaque path :
<a href="$path" target="_blank">Test</a>


Lors du clic, un nouvel onglet s'ouvre donc contenant le fichier pdf

Je ne fais pas de traitement de la variable au moment du clic car cela ouvre directement le fichier pdf (via adobe) dans une nouvelle page
0
Bonjour

Désolé pour le retard de réponse

En utilisant ta technique, les é à è etc .. sont bien converti

Le problème c'est que le fichier auquel je veux accéder se trouve sur le réseau, et que j'utilise un alias pour accéder à ce fichier, donc en gros mon $path est :

/ALIAS/Repertoire/fichier.pdf


Ou alias = \\serveur en gros

Et avec ta technique il n'interprete pas l'alias car d'après moi il convertit le
 /ALIAS
en
%2FALIAS
et donc ne cherche pas a atteindre le /ALIAS

Aurais-tu une parade pour ce cas particulier ?

Merci pour l'avancement déja
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
En fait avec un petit truc ça marche niquel :
str_replace("+", " ", str_replace("%2F", "/", $path));


(Oui, les espaces posaient problème aussi ^^)

Merci de m'avoir bien aidé, A+
0
Skeletyon Messages postés 1552 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 30 décembre 2013 156
13 janv. 2011 à 12:21
C'est vous même qui avez résolu le problème lol

Mettez donc résolu ^^
0
J'ai été un peu aidé quand même :p

Et pour le résolu je ne peux malheureusement pas, n'étant pas un membre enregistré (honte sur moi :s)
0