php解析URL的3种方法

本文章总结解析URL的三种方法,分别为pathinfo()方法、parse_url()方法和basename()方法。每个方法都列举了一个实例,通过实例更容易理解这三个函数的使用方法和技巧。

1、利用pathinfo解析URL,返回文件各个组成部分

<?  
    /* by www.manongjc.com/article/1119.html */  
    $test = pathinfo("http://localhost/index.php");  
    print_r($test);  
?>

结果如下:

Array  (  
 [dirname] => http://localhost //url的路径  
 [basename] => index.php //完整文件名  
 [extension] => php //文件名后缀  
 [filename] => index //文件名  
)

案例2:

<?php
    $path_part = pathinfo('c:/PHPTutorial/WWW/index.php');
    echo "文件目录名:".$path_part['dirname']."<br>";
    echo "文件全面:".$path_part['basename']."<br>";
    echo "文件扩展名:".$path_part['extension']."<br>";
    echo "不包含扩展的文件名:".$path_part['filename']."<br>";
?>

结果:

文件目录名:c:/PHPTutorial/WWW
文件全面:index.php
文件扩展名:php
不包含扩展的文件名:index

2、利用parse_url()函数解析,解析网址

<?php
    /* by http://www.manongjc.com*/  
    $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()解析,返回文件名

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

结果如下:

index.php?name=tank&sex=1#top

.