Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung, wie man eine URL-Instanz in PHP erhält

Detaillierte Erklärung, wie man eine URL-Instanz in PHP erhält

伊谢尔伦
伊谢尔伦Original
2017-06-26 14:19:132663Durchsuche

Wenn die URL-Parameter bekannt sind, können wir $_GET verwenden, um die entsprechenden Parameterinformationen ($_GET['name']) entsprechend unserer eigenen Situation abzurufen ist unbekannt?

Die erste Methode besteht darin, das integrierte Array $_SERVERVariable

das relativ primitive $_SERVER['QUERY_STRING'] zu verwenden, um die Parameter der URL zu erhalten. Normalerweise wird diese Variable verwendet. Die zurückgegebenen Daten ähneln diesen: name=tank&sex=1
Wenn Sie den Namen der Datei einschließen müssen, können Sie $_SERVER["REQUEST_URI"] verwenden (Rückgabe ähnlich). zu: /index.php?name=tank&sex =1)

Zweitens die integrierte Funktion pathinfo verwenden.

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

Drittens die integrierte Funktion parse_url verwenden

<?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 //后面根的锚点
)
*/
?>

Drittens vier: Verwenden Sie die integrierte Funktion „basename“

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

Darüber hinaus gibt es auch die Methode, den erforderlichen Wert durch regelmäßigen Abgleich zu erhalten. Diese Methode ist genauer und Effizienz wird vorerst nicht berücksichtigt. . .
Das Folgende erweitert die reguläre Verarbeitungsmethode in der Praxis:

<?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
        )
)
*/
?>

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie man eine URL-Instanz in PHP erhält. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn