PHP中5个路径函数对比
2013-12-19 22:15
411 查看
原文地址:http://www.uncletoo.com/html/base/722.html
很多同学对路径问题总是分不清,在WEB开发中经常使用混淆,这里UncleToo总结了一些PHP中经常使用的路径函数供大家参考,不全的部分大家可以参考PHP手册。1、pathinfopathinfo返回由给定文件的路径信息组成的数组。示例:
3、basenamebasename函数返回给定路径中的基本文件名,如果只有路径没有文件名,则返回最后的目录名。示例:
更多PHP技术,请登录UncleToo中文网:http://www.uncletoo.com
很多同学对路径问题总是分不清,在WEB开发中经常使用混淆,这里UncleToo总结了一些PHP中经常使用的路径函数供大家参考,不全的部分大家可以参考PHP手册。1、pathinfopathinfo返回由给定文件的路径信息组成的数组。示例:
<?php $s_path='/uncletoo/app/index.php'; $path_parts = pathinfo($s_path); echo "<pre>"; echo var_dump($path_parts); echo "</pre>"; ?>输出: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、dirnamedirname函数返回给定路径的父目录,字符串类型。示例:
<?php echo "1) " . dirname("C:/uncletoo/php") . '<br>'; echo "2) " . dirname("/php/ut.php") . '<br>'; echo "3) " . dirname("/php/") . '<br>'; echo "4) " . dirname("index.php"); ?>输出:1) C:/uncletoo2) /php3) \4) .这里要注意的就是第3和第4两种情况,这也是dirname函数容易出错的地方。
3、basenamebasename函数返回给定路径中的基本文件名,如果只有路径没有文件名,则返回最后的目录名。示例:
<?php echo "1) ".basename("/uncletoo/php/index.d").'<br>'; echo "2) ".basename("/uncletoo/php/index.d", ".d").'<br>'; echo "3) ".basename("/uncletoo/php/").'<br>'; echo "4) ".basename("/uncletoo/").'<br>'; echo "5) ".basename(".").'<br>'; echo "6) ".basename("/"); ?>输出:1) index.d2) index3) php4) uncletoo5) .6)从这里可以看出,basename函数与dirname函数的取值是互补相反的。提示:以上三个函数不会验证给定目录是否存在,只是把路径当做字符串来解析,所以,当你给一个不存在的路径时,同样也会给出正确数据。4、parse_urlparse_url函数返回含在给定 URL 中出现的各部分组成的数组。本函数不会去验证给定 URL 的合法性的,只是将其视为字符串解析。不完整的 URL 也被接受,对严重不合格的 URL,parse_url() 可能会返回 FALSE。示例:
<?php $url1 = 'http://www.uncletoo.com/php/path.php?arg=value&id=10#anchor'; $url2 = 'http://username:password@hostname'; echo '<pre>'; echo var_dump(parse_url($url1)); echo '============================<br>'; echo var_dump(parse_url($url2)); echo '</pre>'; ?>输出: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、realpathrealpath函数是我们在开发过程中经常使用到的,PHP官方手册给出的解释是返回规范的绝对路径,我的理解就是返回给定文件所在的物理绝对路径。示例:
<?php echo var_dump(realpath('app/index.php')); ?>输出:D:\php\apache\htdocs\APP\index.php(这是我本机的路径,不同的存放路径这里输出的不一样)realpath函数不同于上面几种,他是要检测文件是否存在,如果不存在,函数将返回FALSE。以上5个路径函数是我们在开发中经常用到的,UncleToo简单整理出来分享给大家,希望能对大家有所帮助。还有其他一些路径函数,大家可以参考PHP手册。
更多PHP技术,请登录UncleToo中文网:http://www.uncletoo.com
相关文章推荐
- 写 5个不同的自己的函数来获取一个全路径的文件的扩展名, 允许封装php 库中已有 的函数(新浪)
- 写5个不同的自己的函数,来截取一个全路径的文件的扩展名,允许封装php库中已有的函数。
- JavaScript&&PHP常用函数对比
- 正则提取内容图片路径 Monxin专用(PHP代码函数)
- include("include_path")函数包含路径详讲__PHP_include()
- PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT...
- PHP写一个函数,算出两个文件的相对路径
- php执行外部命令函数:exec()、passthru()、system()、shell_exec()对比
- PHP获取当前url路径的函数及服务器变量:$_SERVER["QUERY_STRING"],$_SERVER["REQUEST_URI"],$_SERVER["SCRIPT_NAME"],$_SER
- php 函数 pathinfo 获取路径信息,获取目录信息
- php isset函数对比empty函数之间的区别及其使用方法
- PHP获取当前url路径的函数以及服务器变量
- PHP中的一些路径变量或函数
- PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
- PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT...
- 获取图片绝对路径 采集图片用到(PHP代码函数)
- php 实现相对路径函数
- 封装的 php 函数实例 获取客户端IP 获取在线IP 获取url 获取当前站点的访问路径根目录 数字转人民币
- php序列化函数serialize() 和 unserialize() 与原生函数对比
- PHP获取当前url路径的函数及服务器变量