PHP中5个路径函数对比
admin
2023-07-05 07:44:24
0次

原文地址:http://www.uncletoo.com/html/base/722.html

PHP中5个路径函数对比

很多同学对路径问题总是分不清,在WEB开发中经常使用混淆,这里UncleToo总结了一些PHP中经常使用的路径函数供大家参考,不全的部分大家可以参考PHP手册。

1、pathinfo

pathinfo返回由给定文件的路径信息组成的数组。

示例:

";
echo var_dump($path_parts);
echo "
"; ?>

输出:

array(4) {

["dirname"]=>

string(4) "/uncletoo/app"

["basename"]=>

string(9) "index.php"

["extension"]=>

string(3) "php"

["filename"]=>

string(5) "index"

}

从上面示例可以看出,pathinfo函数返回了index.php文件所在的目录、文件全称、文件类型及文件名,这里要注意的是,返回值中的filename是在PHP5.2才加上的,之前的版本没有。

2、dirname

dirname函数返回给定路径的父目录,字符串类型。

示例:

';
echo "2) " . dirname("/php/ut.php") . '
'; echo "3) " . dirname("/php/") . '
'; echo "4) " . dirname("index.php"); ?>

输出:

1) C:/uncletoo

2) /php

3) \

4) .

这里要注意的就是第3和第4两种情况,这也是dirname函数容易出错的地方。


3、basename

basename函数返回给定路径中的基本文件名,如果只有路径没有文件名,则返回最后的目录名。

示例:

';
echo "2) ".basename("/uncletoo/php/index.d", ".d").'
'; echo "3) ".basename("/uncletoo/php/").'
'; echo "4) ".basename("/uncletoo/").'
'; echo "5) ".basename(".").'
'; echo "6) ".basename("/"); ?>

输出:

1) index.d

2) index

3) php

4) uncletoo

5) .

6)

从这里可以看出,basename函数与dirname函数的取值是互补相反的。

提示:以上三个函数不会验证给定目录是否存在,只是把路径当做字符串来解析,所以,当你给一个不存在的路径时,同样也会给出正确数据。

4、parse_url

parse_url函数返回含在给定 URL 中出现的各部分组成的数组。本函数不会去验证给定 URL 的合法性的,只是将其视为字符串解析。不完整的 URL 也被接受,对严重不合格的 URL,parse_url() 可能会返回 FALSE。

示例:

';
echo var_dump(parse_url($url1));
echo '============================
'; echo var_dump(parse_url($url2)); echo '
'; ?>

输出:

array(5) {

["scheme"]=>

string(4) "http"

["host"]=>

string(16) "www.uncletoo.com"

["path"]=>

string(13) "/php/path.php"

["query"]=>

string(15) "arg=value&id=10"

["fragment"]=>

string(6) "anchor"

}

================================

array(4) {

["scheme"]=>

string(4) "http"

["host"]=>

string(8) "hostname"

["user"]=>

string(8) "username"

["pass"]=>

string(8) "password"

}

从输出结果可以看出,parse_url()函数会将不同类型的url正确地解析。

另外,PHP 为了向后兼容的需要有个例外,对 file:// 协议允许三个斜线(file:///...)。其它任何协议都不能这样。

5、realpath

realpath函数是我们在开发过程中经常使用到的,PHP官方手册给出的解释是返回规范的绝对路径,我的理解就是返回给定文件所在的物理绝对路径。

示例:

输出:

D:\php\apache\htdocs\APP\index.php

(这是我本机的路径,不同的存放路径这里输出的不一样)

realpath函数不同于上面几种,他是要检测文件是否存在,如果不存在,函数将返回FALSE。

以上5个路径函数是我们在开发中经常用到的,UncleToo简单整理出来分享给大家,希望能对大家有所帮助。还有其他一些路径函数,大家可以参考PHP手册。


更多PHP技术,请登录UncleToo中文网:http://www.uncletoo.com

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...