加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP中回显$_SERVER [‘DOCUMENT_ROOT’]的结尾部分或最后一个

发布时间:2020-12-13 15:55:46 所属栏目:PHP教程 来源:网络整理
导读:我需要使用$_SERVER [‘DOCUMENT_ROOT’]; scandir为我的导航菜单显示的文件和文件夹. 假设我的根目录位于/ home / user / public_html / website /. 这是我如何回显根目录: echo $_SERVER['DOCUMENT_ROOT']; 它会显示/ home / user / public_html / websit
我需要使用$_SERVER [‘DOCUMENT_ROOT’]; scandir为我的导航菜单显示的文件和文件夹.

假设我的根目录位于/ home / user / public_html / website /.

这是我如何回显根目录:

echo $_SERVER['DOCUMENT_ROOT'];

它会显示/ home / user / public_html / website /

这是我如何回显根目录中的文件夹:

echo $_SERVER['DOCUMENT_ROOT'].'about/';

它会显示/ home / user / public_html / website / about /

问题:如何删除显示在根文件夹和/或子文件夹中的所有内容.

示例:如果我回显$_SERVER [‘DOCUMENT_ROOT’],我希望它显示为/而不是整个/ home / user / public_html / website / path.

如果我回显一个子文件夹,我希望它显示为/ about /而不是/ home / user / public_html / website / about /.

那么,我怎样才能让它回显$_SERVER [‘DOCUMENT_ROOT’]的结尾部分;而不是整个目录路径?

我已经尝试过dirname和basename,但这些都没有我需要的东西.我已经想过了字符串替换但是没有更容易添加到$_SERVER [‘DOCUMENT_ROOT’]的东西,它只会回显根文件夹或根文件夹加上子文件夹?

更新:

我最终使用了来自anant kumar singh的答案,但是使用preg_split调整它而不是爆炸,因为preg_split可以采用多个字符串分隔符,其中explode只能使用1.

$newArray = preg_split( " (-in/|-ca/|-co/) ",dirname($_SERVER['DOCUMENT_ROOT']) );
if(count($newArray)>1){
    echo '/'.$newArray[1].'/';
    }else{
        echo '/';
    }

如果您知道更好的方法来完成我想要做的事情,请在下面发布您的答案.

解决方法

您可以通过以下方式进行爆炸: –

$newArray = explode('website/',$_SERVER['DOCUMENT_ROOT']);
 if(count($newArray)>1){
   echo "/".$newArray[1];
}else{
    echo '/';
}

正如您已经说过preg_split为您完成的工作: –

$newArray = preg_split( " (-in/|-ca/|-co/) ",dirname($_SERVER['DOCUMENT_ROOT']) ); if(count($newArray)>1){ echo "/".$newArray[1]."/"; }else{ echo '/'; }

注意: – 不要惊慌.我不会接受你的信任.我只是为了未来人民的目的而做到了.如果你把它作为答案,那么我将删除它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读