如果我有一个网址是http://www.example.com/sites/dir/index.html,我想提取单词“网站”。我知道我必须使用正则表达式,但由于某种原因,我对它们的知识不适用于PHP。如何从URL中获取当前网页目录?
我试图使用方法:
$URL = $_SERVER["REQUEST_URI"];
preg_match("%^/(.*)/%", $URL, $matches);
但我必须做一些错误的。我也希望它有一个捕捉功能,如果它在主网站www.example.com,那么它会做“MAIN”字样
编辑:对不起,我已经知道dirname ...它提供完整的目录路径。我只想要第一个目录....所以如果它的www.example.com/1/2/3/4/5/index.html那么它只返回1,而不是/ 1/2/3/4/5/
末尾加上斜杠请看我的编辑。 – ParoX 2010-07-15 20:56:46
@布赖恩:请看我更新的答案。 – Sarfraz 2010-07-15 21:02:28
请注意,尽管答案要求从URL获取路径,但答复是从文件系统中提供路径,因此虽然在这种情况下两者是相同的,但实际上这是错误的。如果您的url(http:// www.example.com/sites/dir/index.html)由另一个文件夹(ModRewrite)中的脚本处理,比如'/ www/home/scripts/wholesite.php',这个答案将返回“家”而不是“网站”。 PHP_SELF“是脚本”,而REQUEST_URI“是网址”。 – FrancescoMM 2017-03-17 08:22:05