ホームページ  >  記事  >  バックエンド開発  >  PHPでURLインスタンスを取得する方法を詳しく解説

PHPでURLインスタンスを取得する方法を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-26 14:19:132628ブラウズ

URL パラメータがわかっている場合、状況に応じて $_GET を使用して対応するパラメータ情報 ($_GET['name']) を取得できます。では、URL が不明な場合はどのようにパラメータ情報を取得するのでしょうか。

最初の方法は、$_SERVER 組み込み配列変数

比較的原始的な $_SERVER['QUERY_STRING'] を使用して URL のパラメーターを取得することです。通常、この変数はこれと同様のデータを返すために使用されます。 : name=tank&sex =1
ファイル名を含める必要がある場合は、$_SERVER["REQUEST_URI"] を使用できます (同様の戻り値: /index.php?name=tank&sex=1)

2 番目に、pathinfo を使用します

組み込み関数

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

3番目の方法は、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 //后面根的锚点
)
*/
?>

4番目の方法は、basename組み込み関数を使用することです

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

また、必要な定期的なマッチングによる値。この方法の方が正確であり、当面は効率は考慮されていません。 。 。

以下は実際の通常の処理方法を拡張したものです:

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

以上がPHPでURLインスタンスを取得する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。