Url encode

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

  1. 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
    1. 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
      1. 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
        1. 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
          1. 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
            1. C'est vous même qui avez résolu le problème lol

              Mettez donc résolu ^^
              0
              1. 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