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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了在PHP中回显$_SERVER [‘DOCUMENT_ROOT’]的结尾部分或最后一个文件夹脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要使用$_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 '/'; }

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

脚本宝典总结

以上是脚本宝典为你收集整理的在PHP中回显$_SERVER [‘DOCUMENT_ROOT’]的结尾部分或最后一个文件夹全部内容,希望文章能够帮你解决在PHP中回显$_SERVER [‘DOCUMENT_ROOT’]的结尾部分或最后一个文件夹所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。