URL解析

取脚本扩展名

    <?php
        /** by www.phpddt.com */
        $url = "http://www.phpddt.com/abc/de/fg.php?id=1";
        $path = parse_url($url);
        echo pathinfo($path['path'],PATHINFO_EXTENSION);  //php
    ?>

 
#测试网址:     http://localhost/blog/testurl.php?id=5

//获取域名或主机地址 
echo $_SERVER['HTTP_HOST']."<br>"; #localhost

//获取网页地址 
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php

//获取网址参数 
echo $_SERVER["QUERY_STRING"]."<br>"; #id=5

//获取用户代理 
echo $_SERVER['HTTP_REFERER']."<br>"; 

//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/blog/testurl.php?id=5

//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
#http://localhost:80/blog/testurl.php?id=5

//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; 
echo dirname($url);
#http://localhost/blog

  1、利用pathinfo:

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

  2、利用parse_url()函数解析

复制代码
<?
    $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 //后面根的锚点
)
复制代码

  3、使用basename()

复制代码
<?
    $test = basename("http://localhost/index.php?name=tank&sex=1#top");
    echo $test;
?>
结果如下
index.php?name=tank&sex=1#top
复制代码
原文地址:https://www.cnblogs.com/fenle/p/4827453.html