dire par exemple J'ai un URI Je suis également capable de récupérer diverses informations concernant l'URI de l'objet de la demande. P>
Mais, comment puis-je récupérer le fragment (c'est-à-dire la partie "12345" après le # dans l'E.G.)? Ni Merci! P> http://127.0.0.1/somecontroller/someAction#12345 code> qui me prend sur la
Sompraction () code> Action du contrôleur Somecontroller. De là, je suis capable de récupérer l'objet de la demande via
$ ceci-> getrequest () code>. P>
getrequesturi () code> ni
getparams () code> augmente la partie de fragment. P>
4 Réponses :
La partie de fragment de l'URL n'est jamais envoyée au serveur via obtenir des demandes d'obtention (ou une requête HTTP à ce sujet), la seule façon de l'obtenir est si vous écrivez un extrait JavaScript qui analyse l'URL et envoie Le fragment retour au serveur via Ajax par exemple. P>
Cela ne peut pas être fait avec PHP seul. P>
Selon la spécification du protocole HTTP, la partie de fragment est ignorée. Cependant, les navigateurs soutiennent les redirections avec le hachage. P>
Si vous générez automatiquement des hayes, vous pouvez passer le paramètre et ensuite: p>
mais ce sera chaud gérer le cas avec le hachage uniquement, par ex. Lorsque l'utilisateur entre manuellement de l'URL. P> id code> comme paramètre de demande:
http://127.0.0.1/somecontroller/someaction/id/12345/#12345 code> p>
$ ceci-> getrequest () -> getparam ('id') code> p>
ne pourriez-vous pas utiliser la fonction PHP exploser ("#", $ _ serveur ['request_uri])? code> peut-être j'ai mal compris la question. P>
Vous ne pouvez pas utiliser: car lorsque vous appelez $ _ serveur ['demande_uri] code>, vous ne recevez jamais le mot après
# code >. Par exemple, votre lien
www.example.com/about#test code>, et lorsque vous appelez
$ _ serveur ['demande_uri] code>, vous venez d'obtenir
www.example. com / environ code>. p> p>
exploser code>, selon le manuel PHP lui-même: retourne une matrice de chaînes, chacune d'une sous-chaîne formée en le divisant sur les limites formées par le délimiteur de chaîne. i>
Juste hors de curiosité Quelle était votre cas d'utilisation?