当前位置: 首页 > 编程笔记 >

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

梁学真
2023-03-14
本文向大家介绍PHP解析目录路径的3个函数总结,包括了PHP解析目录路径的3个函数总结的使用技巧和注意事项,需要的朋友参考一下

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


$unixPath = “/var/www/html/index.php”; –在UNIX系统中绝对路径,必须使用“/”作为路径分隔符

$winPath = “C:\\Appserv\\www\\index.php”; –Windows系统的绝对路径,默认使用“\”作为路径分隔符

$winPath = “C:/Appserv/www/index.php”; –在Windows系统中也接受“/”作为路径分隔符,推荐使用

$fileName1=”file.txt”; –相对路径,当前目录下的file.txt文件

$fileName2=”javascript/common.js”; –相对路径,当前目录中javascript子目录下的common.js文件

$fileName3=”../images/logo.gif”; –相对路径,上一级目录中images子目录下的logo.gif文件

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


$fileName2 = “javascript”.DIRECTORY_SEPARATOR.”common.js”; –Unix为“/”,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

?>

 类似资料:
  • 问题内容: 我有此功能返回: } 但是我想做的是搜索文件/文件夹并返回它的路径,我该怎么做?你有这样的功能,或者可以给我一些技巧吗? 问题答案: 尝试结合使用RecursiveIteratorIterator和RecursiveDirectoryIterator

  • 本文向大家介绍PHP获取路径和目录的方法总结【必看篇】,包括了PHP获取路径和目录的方法总结【必看篇】的使用技巧和注意事项,需要的朋友参考一下 PHP获取目录和的方法通过魔术变量;通过超级全局变量;通过相关函数等等: 打印结果如下【我的根目录是:G:/web】: 以上这篇PHP获取路径和目录的方法总结【必看篇】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我试图通过JNA在eclipse中使用GStreamer。Processing为此提供了一个库,如果我试图通过从eclipse中以applet的形式运行sketch来运行代码,那么一切都很好,但是当我试图执行整个应用程序时,我会得到一个警告列表(在相机第一次调用时),如下所示 这条路似乎不对... 我从来没有写过需要jna的库,我试图使用这个库,如果可能的话,有什么建议吗?

  • 我已经使用setup.py打包了我的项目,项目文件夹结构如下所示。 我已经在下面的文件夹中创建了名为“myenv_1”的虚拟环境,/Users/basavarajlamani/Documents/environments/并且我已经在这个虚拟环境中安装了上面的repo。 我在堆栈溢出和互联网上尝试了很多,但没有找到答案。 user.py文件代码 conftest.py守则 如果我运行用户。py文件

  • 6.1 目录与路径 由前一章Linux的文件权限与目录配置中通过FHS了解了Linux的“树状目录”概念之后, 接下来就得要实际的来搞定一些基本的路径问题了!这些目录的问题当中,最重要的莫过于前一章也谈过的“绝对路径”与“相对路径”的意义啦! 绝对/相对路径的写法并不相同,要特别注意。此外,当你下达指令时,该指令是通过什么功能来取得的? 这与PATH这个变量有关呢!下面就让我们来谈谈啰! 6.1.

  • 给定一个类似的路径,我希望删除所有“当前目录”指示符(即句点)和“父目录”指示符(即..),给出。 我可以使用,但这也可以解析符号链接,这是我不想要的。 有简单的方法吗?也就是说,比编写一个标记器并自己处理它更简单。 如果你能告诉我什么是正确的名字,就会得到奖励。和'..'都是在这种背景下。