Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon d'obtenir une instance d'URL en php

Explication détaillée de la façon d'obtenir une instance d'URL en php

伊谢尔伦
伊谢尔伦original
2017-06-26 14:19:132669parcourir

Lorsque les paramètres de l'URL sont connus, nous pouvons utiliser $_GET pour obtenir les informations de paramètre correspondantes ($_GET['name']) en fonction de notre propre situation, puis comment obtenir les informations de paramètre sur l'URL lorsque l'URL ; est inconnu ? Du drap de laine ?

La première méthode consiste à utiliser le tableau intégré $_SERVERvariable

le $_SERVER['QUERY_STRING'] relativement primitif pour obtenir les paramètres de l'URL. Cette variable est généralement utilisée. Les données renvoyées seront similaires à ceci : name=tank&sex=1
Si vous devez inclure le nom du fichier , vous pouvez utiliser $_SERVER["REQUEST_URI"] (retour similaire à : /index.php?name=tank&sex =1)

Deuxièmement, utilisez pathinfo fonction intégrée

<?php
$test = pathinfo("http://localhost/index.php");
print_r($test);
/*
结果如下
Array
(
     [dirname] => http://localhost //url的路径
     [basename] => index.php  //完整文件名
     [extension] => php  //文件名后缀
     [filename] => index //文件名
)
*/
?>

Troisièmement, utilisez la fonction intégrée parse_url

<?php
$test = parse_url("http://localhost/index.php?name=tank&sex=1#top");
print_r($test);
/*
结果如下
Array
(
     [scheme] => http //使用什么协议
     [host] => localhost //主机名
     [path] => /index.php //路径
     [query] => name=tank&sex=1 // 所传的参数
     [fragment] => top //后面根的锚点
)
*/
?>

Troisième quatre, utilisez la fonction intégrée de nom de base

<?php
$test = basename("http://localhost/index.php?name=tank&sex=1#top");
echo $test;
/*
结果如下
index.php?name=tank&sex=1#top
*/
?>

De plus, il existe également la méthode permettant d'obtenir la valeur requise par correspondance régulière. Cette méthode est plus précise et l’efficacité n’est pas prise en compte pour le moment. . .
Ce qui suit développe la méthode de traitement régulière dans la pratique :

<?php
preg_match_all("/(\w+=\w+)(#\w+)?/i","http://localhost/index.php?name=tank&sex=1#top",$match);
print_r($match);
/*
结果如下
Array
(
    [0] => Array
        (
            [0] => name=tank
            [1] => sex=1#top
        )
    [1] => Array
         (
            [0] => name=tank
             [1] => sex=1
         )
     [2] => Array
        (
             [0] =>
            [1] => #top
        )
)
*/
?>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn