欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP获取当前文件的父目录方法汇总

程序员文章站 2024-04-02 17:07:10
方法一:先获得当前文件所在文件夹的长度,然后用substr来截取掉该长度: 复制代码 代码如下: $dirname = str_replace("\\", "/...

方法一:先获得当前文件所在文件夹的长度,然后用substr来截取掉该长度:

复制代码 代码如下:
 $dirname = str_replace("\\", "/", dirname(__file__));
 $dirnamelength = strlen($dirname);
 $currentdirnamelength = $dirnamelength - strrpos($dirname,"/"); //获得当前文件所在文件夹的长度!
 $parentdirname = substr($dirname,0,-$currentdirnamelength); //第3个参数如果为负数,那么表示从后面截取掉【该参数的绝对值】个字符。

方法二:将当前文件所在文件夹当作一个文件(文件夹其实是特殊的文件,一切皆为文件!!),直接用dirname嵌套一次dirname即可:

 $parentdirname = dirname(dirname(__file__));

从上可以看出:对事物的深刻认识,能大幅度提高代码质量!

附上:php获取路径或目录实现

php获取目录和的方法通过魔术变量;通过超级全局变量;通过相关函数等等:

<?php
/**
 * php获取路径或目录实现
 */
 
//魔术变量,获取当前文件的绝对路径
echo "__file__: ========> ".__file__; 
echo '<br/>';
 
//魔术变量,获取当前脚本的目录
echo "__dir__: ========> ".__dir__;
echo '<br/>';
 
//dirname返回路径的目录部分,dirname(__file__)相当于__dir__
echo "dirname(__file__): ========> ".dirname(__file__);
echo '<br/>';
 
//$_server['php_self']和$_server['script_name']的结果一般相同,他们都是获取当前脚本的文件名
//只有当php以cgi方式运行时有区别,但是现在几乎找不到以cgi方式运行php了
echo '$_server["php_self"]: ========> '.$_server['php_self'];
echo '<br/>';
 
echo '$_server["script_name"]: ========> '.$_server['script_name'];
echo '<br/>';
 
//当前执行脚本的绝对路径。记住,在cli方式运行php是获取不到的
echo '$_server["script_filename"]: ========> '.$_server['script_filename'];
echo '<br/>';
 
//当前运行脚本所在的文档根目录。在服务器配置文件中定义。
echo '$_server["document_root"]: ========> '.$_server['document_root'];
echo '<br>';
 
//getcwd()返回当前工作目录
echo "getcwd(): ========> ".getcwd();
echo '<br>';