PHP解析目录路径的3个函数总结
《:PHP解析目录路径的3个函数总结》要点: PHP教程要描述一个文件的位置,可以使用决对路径和相对路径.绝对路径是从根开始一级一级地进入各个子目录,最后指定该文件名或目录名.而相对目录是从当前目录进入某目录,最后指定该文件名或目录名.在系统的每个目录下都有两个特殊的目录“.”和“..”,分别指示当前目录和当前目录的父目录(上一级目录).例如:
代码如下:
$unixPath = “/var/www/html/index.php”; C在UNIX系统中绝对路径,必须使用“/”作为路径分隔符 $winPath = “C:Appservwwwindex.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文件 PHP教程在上例中,分别列出了UNIX和Windows系统中绝对路径和相对路径的格式.其中在UNIX系统中必须使用正斜线“/”作为路径分隔符,而在Windows系统中默认使用反斜线“”作为路径分隔符,在程序中表示还要将“”转义,但也接受正斜线“/”作为分隔符的写法.为了程序可以有很好的移植性,建议都使用“/”作为文件的路径分隔符.另外,也可以使用PHP的内置常量DIRECTORY_SEPARATOR,其值为当前操作系统的默认文件路径分隔符.例如:
代码如下:
$fileName2 = “javascript”.DIRECTORY_SEPARATOR.”common.js”; CUnix为“/”,Windows为“” PHP教程将目录路径中各个属性分离开通常很有用,如末尾的扩展名、目录部分和基本名.可以通过PHP的系统函数basename()、dirname()和pathinfo()函数完成这些任务. PHP教程①函数basename() PHP教程函数basename()返回路径中的文件名部分.该函数的原型如下所示:
代码如下:
string basename(string path[,string suffix]) //返回路径中的文件名部分 该函数给出一个包括其指向一个文件的全路径的字符串,本函数返回基本的文件名.第二个参数可选参数,规定文件的扩展名.如果提供了则不会输出这个扩展名.该函数的使用如下面的代码所示:
代码如下:
<?php //包括有指向一个文件的全部路径的字符串 $path = "/var/www/html/page.php"; //显示带有文件扩展名的文件名,输出page.php echo basename($path); //显示不带有文件扩展名的文件名,输出page echo basename($path,".php"); ?> PHP教程②函数dirname() PHP教程该函数恰好与basename()相反,只需要一个参数,给出一个包括有指向一个文件的全部路径的字符串,本函数返回去掉文件名后的目录名.该函数的使用如以下代码所示:
代码如下:
<?php $path = "/var/www/html/page.php"; echo dirname($path); //返回目录名/var/www/html echo dirname('c:/'); //返回目录名c:/ ?> PHP教程③函数pathinfo() PHP教程函数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解析目录路径的3个函数总结》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |