PHP解析目录路径的3个函数总结

2015-01-24信息快讯网

这篇文章主要介绍了PHP解析目录路径的3个函数总结,本文总结了basename、dirname、pathinfo3个函数,它们分别处理路径的不同部分,需要的朋友可以参考下

要描述一个文件的位置,可以使用决对路径和相对路径。绝对路径是从根开始一级一级地进入各个子目录,最后指定该文件名或目录名。而相对目录是从当前目录进入某目录,最后指定该文件名或目录名。在系统的每个目录下都有两个特殊的目录“.”和“..”,分别指示当前目录和当前目录的父目录(上一级目录)。例如:

$unixPath = “/var/www/html/index.php”; C在UNIX系统中绝对路径,必须使用“/”作为路径分隔符
$winPath = “C:\\Appserv\\www\\index.php”; CWindows系统的绝对路径,默认使用“\”作为路径分隔符
$winPath = “C:/Appserv/www/index.php”; C在Windows系统中也接受“/”作为路径分隔符,推荐使用
$fileName1=”file.txt”; C相对路径,当前目录下的file.txt文件
$fileName2=”javascript/common.js”; C相对路径,当前目录中javascript子目录下的common.js文件
$fileName3=”../images/logo.gif”; C相对路径,上一级目录中images子目录下的logo.gif文件

在上例中,分别列出了UNIX和Windows系统中绝对路径和相对路径的格式。其中在UNIX系统中必须使用正斜线“/”作为路径分隔符,而在Windows系统中默认使用反斜线“\”作为路径分隔符,在程序中表示还要将“\”转义,但也接受正斜线“/”作为分隔符的写法。为了程序可以有很好的移植性,建议都使用“/”作为文件的路径分隔符。另外,也可以使用PHP的内置常量DIRECTORY_SEPARATOR,其值为当前操作系统的默认文件路径分隔符。例如:

$fileName2 = “javascript”.DIRECTORY_SEPARATOR.”common.js”; CUnix为“/”,Windows为“\”

将目录路径中各个属性分离开通常很有用,如末尾的扩展名、目录部分和基本名。可以通过PHP的系统函数basename()、dirname()和pathinfo()函数完成这些任务。

①函数basename()

函数basename()返回路径中的文件名部分。该函数的原型如下所示:

string basename(string path[,string suffix]) //返回路径中的文件名部分

该函数给出一个包含其指向一个文件的全路径的字符串,本函数返回基本的文件名。第二个参数可选参数,规定文件的扩展名。如果提供了则不会输出这个扩展名。该函数的使用如下面的代码所示:
<?php
//包含有指向一个文件的全部路径的字符串
$path = "/var/www/html/page.php";
//显示带有文件扩展名的文件名,输出page.php
echo basename($path);
//显示不带有文件扩展名的文件名,输出page
echo basename($path,".php");
?>

②函数dirname()

该函数恰好与basename()相反,只需要一个参数,给出一个包含有指向一个文件的全部路径的字符串,本函数返回去掉文件名后的目录名。该函数的使用如以下代码所示:

<?php
$path = "/var/www/html/page.php";
echo dirname($path); //返回目录名/var/www/html
echo dirname('c:/'); //返回目录名c:/
?>

③函数pathinfo()

函数pathinfo()返回一个关联数组,其中包括指定路径中的目录名、基本名和扩展名三个部分。分别通过数组键dirname、basename和extension来引用。该函数的使用如下代码所示。

<?php
$path = "/var/www/html/page.php"; 
$path_parts = pathinfo($path); //返回包括指定路径中的目录名、基本名和扩展名关联数组
echo $path_parts["dirname"]; //输出目录名/var/www/html
echo $path_parts["basename"]; //输出基本名page.php
echo $path_parts["extension"]; //输出扩展名.php
?>

php使用正则表达式获取图片url的方法
php使用CURL伪造IP和来源实例详解
php+mysql实现无限分类实例详解
php截取html字符串及自动补全html标签的方法
php在linux下检测mysql同步状态的方法
PHP上传文件时自动分配路径的方法
php计划任务之ignore_user_abort函数实现方法
php实现utf-8转unicode函数分享
php使用fputcsv()函数csv文件读写数据的方法
discuz目录文件资料汇总
PHP跨平台获取服务器IP地址自定义函数分享
PHP中require和include路径问题详解
php中mail函数发送邮件失败的解决方法
apache中为php 设置虚拟目录
PHP使用glob函数遍历目录或文件夹的方法
thinkphp常见路径用法分析
php最简单的删除目录与文件实现方法
php查找指定目录下指定大小文件的方法
ThinkPHP中公共函数路径和配置项路径的映射分析
php集成环境xampp中apache无法启动问题解决方案
PHP自定session保存路径及删除、注销与写入的方法
php中字符查找函数strpos、strrchr与strpbrk用法
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
PHP统计目录大小的自定义函数分享
php创建和删除目录函数介绍和递归删除目录函数分享
PHP递归复制、移动目录的自定义函数分享
php使用glob函数快速查询指定目录文件的方法
ThinkPHP中URL路径访问与模块控制器之间的关系
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
图解找出PHP配置文件php.ini的路径的方法
asp.net访问网络路径方法(模拟用户登录)
©2014-2024 dbsqp.com