您的位置:首页 > 编程语言 > PHP开发

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

2016-07-21 00:00 573 查看
方法一:先获得当前文件所在文件夹的长度,然后用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>';


您可能感兴趣的文章:

PHP获取文件绝对路径的代码(上一级目录)
PHP获取当前文件所在目录 getcwd()函数
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
php读取目录及子目录下所有文件名的方法
PHP 得到根目录的 __FILE__ 常量
PHP判断文件是否存在、是否可读、目录是否存在的代码
PHP chmod 函数与批量修改文件目录权限
php中检查文件或目录是否存在的代码小结
php循环检测目录是否存在并创建(循环创建目录)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP 父目录