登录  /  注册

php文件操作之提取文件/目录的名称

青灯夜游
发布: 2021-08-20 16:25:23
原创
6298人浏览过

在上一篇文章《php文件操作之返回文件所在的位置信息(绝对地址)》中,我们了解获取当前文件觉得路径的4种方法。这次我们继续php文件操作系列的学习,来聊聊怎么获取指定路径或者当前文件的文件名(目录名),感兴趣的朋友可以学习了解一下~

本文的主要内容就是:“获取文件/目录的名称部分”。可以是返回当前文件的文件名,也可以是返回指定文件URL的文件名。

一:获取文件的名称部分

1、利用预定义变量 $_SERVER  --当前文件的文件名

在上文中,我们就介绍了$_SERVER是一个包含服务器和执行环境信息的数组,其中一个信息就是“路径(path)”。

我们可以使用$_SERVER['PHP_SELF']来获取当前执行脚本的文件名,不过在文件名前会有一个斜杠“/”

<?php
header("content-type:text/html;charset=utf-8");
echo "当前文件的文件名: ".$_SERVER[&#39;PHP_SELF&#39;];
?>
登录后复制

输出结果为:

当前文件的文件名: /demo.php
登录后复制

这样的效果,使用$_SERVER['SCRIPT_NAME']也可以实现

echo "当前文件的文件名: ".$_SERVER[&#39;SCRIPT_NAME&#39;];
登录后复制

输出结果和上面一样。

2、使用basename() 函数--指定文件URL的文件名

<?php
header("content-type:text/html;charset=utf-8");
$path = "C:/wamp/www/demo.php";
echo &#39;指定路径$path的文件名称: &#39;.basename($path);
?>
登录后复制

输出结果为:

指定路径$path的文件名称: demo.php
登录后复制

OK,这种的才是我们想要的文件名。上面使用预定义变量 $_SERVER 获取的文件名也可以利用basename() 函数处理一下

<?php
header("content-type:text/html;charset=utf-8");
echo "当前文件的文件名: ".basename($_SERVER[&#39;PHP_SELF&#39;]);
?>
登录后复制

输出结果为:

当前文件的文件名: demo.php
登录后复制

3、使用 pathinfo() 函数--指定文件URL的文件名

pathinfo() 函数能以数组的形式返回关于文件路径的信息,各数组元素及其包含的信息如下:

  • [dirname]:目录路径

  • [basename]:文件名

  • [extension]:文件后缀名

  • [filename]:不包含后缀的文件名

<?php
$path = "C:/wamp/www/demo.php";
$arr = pathinfo($path);
var_dump($arr);
?>
登录后复制

输出结果为:

1.png

我们利用$arr['basename']就可以获取文件名,如果想要获取不包含后缀的文件名,则可使用$arr['filename']。

echo "文件名:".$arr[&#39;basename&#39;];
echo "<br>不包含后缀的文件名:".$arr[&#39;filename&#39;];
登录后复制

输出结果为:

2.png

利用$arr['extension']还可以获取文件扩展名

echo "文件扩展名:".$arr[&#39;extension&#39;];
登录后复制

4.png

二:获取目录的名称部分

1、使用魔术常量 __DIR__ ---- 当前文件所在目录的名称部分。

__DIR__ 常量可获取当前文件的绝对路径(不包含文件名),即当前文件所在目录的名称部分。

例包含下面程序的PHP文件名为demo.php,完整路径为“C:/wamp/www/demo.php”

<?php
header("content-type:text/html;charset=utf-8");
echo "当前文件的目录名: ".__DIR__;
?>
登录后复制

输出结果为:

当前文件的目录名: C:\wamp\www
登录后复制

2、使用 dirname() 函数--指定文件URL的目录名

dirname($path) 函数可以返回路径$path中的目录名称部分。

<?php
header("content-type:text/html;charset=utf-8");
$path = "C:/wamp/www/demo.php";
echo &#39;指定路径$path的目录名称: &#39;.dirname($path);
?>
登录后复制

输出结果为:

指定路径$path的目录名称: C:/wamp/www
登录后复制

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

以上就是php文件操作之提取文件/目录的名称的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号