找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 428|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:34:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            方法一:先获得当前文件所在文件夹的长度,然后用substr来截取掉该长度:
[U]复制代码[/U] 代码如下: $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获取目录和的方法通过魔术变量;通过超级全局变量;通过相关函数等等:
".__FILE__;
echo '
';

//魔术变量,获取当前脚本的目录
echo "__DIR__: ========> ".__DIR__;
echo '
';

//dirname返回路径的目录部分,dirname(__FILE__)相当于__DIR__
echo "dirname(__FILE__): ========> ".dirname(__FILE__);
echo '
';

//$_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']的结果一般相同,他们都是获取当前脚本的文件名
//只有当php以cgi方式运行时有区别,但是现在几乎找不到以cgi方式运行php了
echo '$_SERVER["HP_SELF"]: ========> '.$_SERVER['PHP_SELF'];
echo '
';

echo '$_SERVER["SCRIPT_NAME"]: ========> '.$_SERVER['SCRIPT_NAME'];
echo '
';

//当前执行脚本的绝对路径。记住,在CLI方式运行php是获取不到的
echo '$_SERVER["SCRIPT_FILENAME"]: ========> '.$_SERVER['SCRIPT_FILENAME'];
echo '
';

//当前运行脚本所在的文档根目录。在服务器配置文件中定义。
echo '$_SERVER["DOCUMENT_ROOT"]: ========> '.$_SERVER['DOCUMENT_ROOT'];
echo '
';

//getcwd()返回当前工作目录
echo "getcwd(): ========> ".getcwd();
echo '
';
            
            
您可能感兴趣的文章:
  • php中定义网站根目录的常用方法
  • php获取网站根目录物理路径的几种方法(推荐)
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端