最后一个问题被标记为重复,所以我重新开放,因为$_SERVER['REQUEST_URI']:
不是我正在寻找的,因为它显示了整个路径。
我只需要在没有路径的情况下单独显示第二个文件夹的名称,没有正斜杠和没有页面名称
以下是网址的结构: http://example.com/sub/的 THISFOLDER /page.php
域名将会发生变化,因此我正在寻找适用于任何域名的解决方案,只要它定位到第二个文件夹。
我想做的是这样的事情:
if THISFOLDER is named folder1 then { include("header2.php"); }
答案 0 :(得分:1)
要获取当前文件夹名称,请使用以下方法:
$arr = explode('/', dirname(__FILE__));
$whatyouneed = $arr[count($arr)-1];
答案 1 :(得分:1)
<?php
$str = 'http://example.com/sub/THISFOLDER/page.php';
$parts = parse_url($str);
$folders = explode('/', $parts['path']);
var_dump($folders[2]);
输出:
string(10) "THISFOLDER"
我使用了parse_url,因此无论确切的url结构如何,它都能轻松工作。
答案 2 :(得分:0)
如果你总是想在php页面之前获取最后一个文件夹。 (即使它不是第二个,你也可以使用这个代码。)
<?php
$thisPath = $_SERVER['PHP_SELF'];;
$pattern = '/(\W+)\/(\w+)\/(\w+)/';
$replacement = '$2';
echo preg_replace($pattern, $replacement, $string);
?>
抱歉,我没有运行实例测试的php实例,但它的工作方式是: 从后到前看它: 它会找到正常的单词字符并点击斜线,即“/”。然后它会寻找更多正常的字符。覆盖'/',然后它将寻找任何可能的非空白字符来覆盖其余部分。你想要中间部分。