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

前端技术 2023/09/09 PHP

方法一:先获得当前文件所在文件夹的长度,然后用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>\';

本文地址:https://www.stayed.cn/item/26101

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。