dirname()

本文介绍了PHP中使用__FILE__和dirname()函数获取当前文件及上级目录路径的方法。通过实例展示了如何利用这些内置函数来实现相对路径的引用,适用于动态加载不同层级的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试的代码如下:
复制代码 代码如下:

<?php
echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php
echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\
echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\
?>

使用方法提示,
dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的。
如果重复一次可以把目录往上提升一个层次:
比如:$d = dirname(dirname(__FILE__));
其实就是把一个目录给dirname()做参数了.因为dirname()返回最后的目录不带\\或者是/
所以重复使用的时候可以认为 dirname() 把最下层的目录当成文件名来处理了.照常返回
当前目录的上级目录.这样重复就得到了它的上一级的目录.

包含得到上一级目录的文件
include(dirname(__FILE__).'/../filename.php');

__FILE__的路径是当前代码所在文件

dirname(dirname(__FILE__));得到的是文件上一层目录名

dirname(__FILE__);得到的是文件所在层目录名
### Linux `dirname` 命令使用说明 #### 1. 功能概述 `dirname` 是一个用于从文件路径中提取目录部分的命令。它能够去掉给定路径中的非目录部分,只返回与目录相关的内容[^3]。 #### 2. 基本语法 ```bash dirname [选项] (参数) ``` 其中: - **选项**:支持 `--help` 显示帮助信息和 `--version` 显示版本号。 - **参数**:表示要处理的目标路径字符串。 #### 3. 工作原理 当执行 `dirname` 命令时,程序会对输入的路径进行解析,保留最后一个 `/` 及其前面的部分,并移除非目录部分。如果路径以多个连续斜杠开头,则这些斜杠会被视为根目录的一部分[^4]。 #### 4. 示例分析 以下是几个典型的例子及其解释: - 输入单层路径: ```bash dirname hello.txt ``` 输出为当前工作目录 `.`, 表示该文件位于当前目录下。 - 多级嵌套路径: ```bash dirname /root/home/hello.txt ``` 返回的结果是 `/root/home`,即去除了最后的文件名部分。 - 特殊情况下的路径处理: - 对于双斜杠开头的情况: ```bash dirname // ``` 结果为 `/`,表明这是根目录。 - 如果路径结尾带有额外的斜杠: ```bash dirname /a/b/ ``` 输出仍为 `/a`,忽略了多余的分隔符。 #### 5. 实际应用场景 此命令常被用来配合脚本编程,在动态生成新文件或者调整现有文件位置时特别有用。例如通过组合 `dirname` 和变量来构建新的目标地址[^2]。 ```bash file_path="/path/to/some/file.txt" directory=$(dirname "$file_path") # 获取 file_path 的父目录 echo $directory # 输出 "/path/to/some" ``` 上述代码片段展示了如何利用 `dirname` 提取出任意文件所在的具体目录名称以便进一步操作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值