PHP中__FILE__和dirname()结合使用,如何实现获取当前文件所在目录路径?

2026-04-06 06:381阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计522个文字,预计阅读时间需要3分钟。

PHP中__FILE__和dirname()结合使用,如何实现获取当前文件所在目录路径?

pythondef simplify_original_code(): code=dirname(dirname($_FILE__));+set __FILE__ as /home/web/config/config.php+the method outputs /home/web+dirname(__FILE__);+// 得到的是文件上一层的目录名 +dirname(__FILE__);+// 得到的是文件所在层的目录名 +发现网上 # Remove numbers and characters that are not needed simplified_code=''.join(filter(lambda x: x.isalnum() or x in \n, code))

# Limit to 100 characters simplified_code=simplified_code[:100]

return simplified_code

print(simplify_original_code())

dirname(dirname(_FILE_));

假设__FILE__为 /home/web/config/config.php

上面的方法输出为 /home/web

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

发现网上找了很多文章都是错误的,特别验证后发出来:

dirname(_FILE_)

php中定义了一个很有用的常数,即:_file_

这个内定常数是所在php程序文件的完整路径(路径+文件名)。

即使这个文件被其他文件引用(include或require),__file__始终是它所在文件的完整路径,而不是引用它的那个文件完整路径。

请看下面例子:

F:\Modoer_2.6_SC_UTF8\upload\test\a.php

<?php $the_full_name=__FILE__; $the_dir=dirname(__FILE__); echo $the_full_name; //返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.php echo $the_dir; //返回:F:\Modoer_2.6_SC_UTF8\upload\test ?>

**F:\Modoer_2.6_SC_UTF8\upload\b.php
**

PHP中__FILE__和dirname()结合使用,如何实现获取当前文件所在目录路径?

<?php include "test/a.php";//返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.phpF:\Modoer_2.6_SC_UTF8\upload\test echo $the_full_name; //返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.php echo $the_dir; //返回:F:\Modoer_2.6_SC_UTF8\upload\test ?>

简单地说:

_FILE_ 返回其所在文件的路径+文件名

dirname(_FILE_) 返回_FILE__所在文件的路径部分

dirname(dirname(_FILE));得到的是__FILE__所在文件的上一层目录名(不含最后一个“\”号)

例如,当前文件是 F:\Modoer_2.6_SC_UTF8\upload\test\a.php,则

_FILE_ 得到的就是完整路径 即 F:\Modoer_2.6_SC_UTF8\upload\test\a.php ,而

dirname(_FILE_)得到路径部分 即 F:\Modoer_2.6_SC_UTF8\upload\test

dirname(dirname(_FILE_)),即:F:\Modoer_2.6_SC_UTF8\upload

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

本文共计522个文字,预计阅读时间需要3分钟。

PHP中__FILE__和dirname()结合使用,如何实现获取当前文件所在目录路径?

pythondef simplify_original_code(): code=dirname(dirname($_FILE__));+set __FILE__ as /home/web/config/config.php+the method outputs /home/web+dirname(__FILE__);+// 得到的是文件上一层的目录名 +dirname(__FILE__);+// 得到的是文件所在层的目录名 +发现网上 # Remove numbers and characters that are not needed simplified_code=''.join(filter(lambda x: x.isalnum() or x in \n, code))

# Limit to 100 characters simplified_code=simplified_code[:100]

return simplified_code

print(simplify_original_code())

dirname(dirname(_FILE_));

假设__FILE__为 /home/web/config/config.php

上面的方法输出为 /home/web

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

发现网上找了很多文章都是错误的,特别验证后发出来:

dirname(_FILE_)

php中定义了一个很有用的常数,即:_file_

这个内定常数是所在php程序文件的完整路径(路径+文件名)。

即使这个文件被其他文件引用(include或require),__file__始终是它所在文件的完整路径,而不是引用它的那个文件完整路径。

请看下面例子:

F:\Modoer_2.6_SC_UTF8\upload\test\a.php

<?php $the_full_name=__FILE__; $the_dir=dirname(__FILE__); echo $the_full_name; //返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.php echo $the_dir; //返回:F:\Modoer_2.6_SC_UTF8\upload\test ?>

**F:\Modoer_2.6_SC_UTF8\upload\b.php
**

PHP中__FILE__和dirname()结合使用,如何实现获取当前文件所在目录路径?

<?php include "test/a.php";//返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.phpF:\Modoer_2.6_SC_UTF8\upload\test echo $the_full_name; //返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.php echo $the_dir; //返回:F:\Modoer_2.6_SC_UTF8\upload\test ?>

简单地说:

_FILE_ 返回其所在文件的路径+文件名

dirname(_FILE_) 返回_FILE__所在文件的路径部分

dirname(dirname(_FILE));得到的是__FILE__所在文件的上一层目录名(不含最后一个“\”号)

例如,当前文件是 F:\Modoer_2.6_SC_UTF8\upload\test\a.php,则

_FILE_ 得到的就是完整路径 即 F:\Modoer_2.6_SC_UTF8\upload\test\a.php ,而

dirname(_FILE_)得到路径部分 即 F:\Modoer_2.6_SC_UTF8\upload\test

dirname(dirname(_FILE_)),即:F:\Modoer_2.6_SC_UTF8\upload

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。