发布于:2022-10-09 15:47:13
本文的主要内容就是:“获取文件/目录的名称部分”。可以是返回当前文件的文件名,也可以是返回指定文件URL的文件名。
一:获取文件的名称部分
1、利用预定义变量 $_SERVER
--当前文件的文件名
在上文中,我们就介绍了$_SERVER是一个包含服务器和执行环境信息的数组,其中一个信息就是“路径(path)”。
我们可以使用$_SERVER['PHP_SELF']
来获取当前执行脚本的文件名,不过在文件名前会有一个斜杠“/”
<?phpheader("content-type:text/html;charset=utf-8");echo "当前文件的文件名: ".$_SERVER['PHP_SELF'];?>
输出结果为:
当前文件的文件名: /demo.php
这样的效果,使用$_SERVER['SCRIPT_NAME']
也可以实现
echo "当前文件的文件名: ".$_SERVER['SCRIPT_NAME'];
输出结果和上面一样。
2、使用basename() 函数--指定文件URL的文件名
<?phpheader("content-type:text/html;charset=utf-8");
$path = "C:/wamp/www/demo.php";echo '指定路径$path的文件名称: '.basename($path);?>
输出结果为:
指定路径$path的文件名称: demo.php
OK,这种的才是我们想要的文件名。上面使用预定义变量 $_SERVER 获取的文件名也可以利用basename() 函数处理一下
<?phpheader("content-type:text/html;charset=utf-8");echo "当前文件的文件名: ".basename($_SERVER['PHP_SELF']);?>
输出结果为:
当前文件的文件名: demo.php
3、使用 pathinfo() 函数--指定文件URL的文件名
pathinfo() 函数能以数组的形式返回关于文件路径的信息,各数组元素及其包含的信息如下:
[dirname]
:目录路径
[basename]
:文件名
[extension]
:文件后缀名
[filename]
:不包含后缀的文件名
<?php
$path = "C:/wamp/www/demo.php";
$arr = pathinfo($path);
var_dump($arr);?>
输出结果为:
我们利用$arr['basename']
就可以获取文件名,如果想要获取不包含后缀的文件名,则可使用$arr['filename']
。
echo "文件名:".$arr['basename'];echo "<br>不包含后缀的文件名:".$arr['filename'];
输出结果为:
利用$arr['extension']
还可以获取文件扩展名
echo "文件扩展名:".$arr['extension'];
二:获取目录的名称部分
1、使用魔术常量 __DIR__
---- 当前文件所在目录的名称部分。
__DIR__ 常量可获取当前文件的绝对路径(不包含文件名),即当前文件所在目录的名称部分。
例包含下面程序的PHP文件名为demo.php,完整路径为“C:/wamp/www/demo.php
”
<?phpheader("content-type:text/html;charset=utf-8");echo "当前文件的目录名: ".__DIR__;?>
输出结果为:
当前文件的目录名: C:\wamp\www
2、使用 dirname() 函数--指定文件URL的目录名
dirname($path)
函数可以返回路径$path中的目录名称部分。
<?phpheader("content-type:text/html;charset=utf-8");
$path = "C:/wamp/www/demo.php";echo '指定路径$path的目录名称: '.dirname($path);?>
输出结果为:
指定路径$path的目录名称: C:/wamp/www
到此,相信大家对“php怎么提取文件或目录的名称”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
https://www.yisu.com/zixun/609059.html
阅读 295+
10