当我拿到页面的当前url并将它们分成几部分然后检查index.php短语时,我遇到了问题。到目前为止,我已经完成了这个:
<?php
$domain=$_SERVER['REQUEST_URI'];
$values = parse_url($domains);
$path = explode('/',$values['path']);
if(array_search($path[2], "index.php"))
{
echo "hello";
}
?>
但它不起作用,所以大家帮助我,并提前感谢你,因为我知道我会对你的答案感到满意。
答案 0 :(得分:1)
试试这个:
$pathToFile = $_SERVER['PHP_SELF'];
$currentFilename = substr($pathToFile, strrpos($pathToFile, '/') + 1);
if($currentFilename == 'index.php')
{
echo 'This file is index.php!';
}
$_SERVER['PHP_SELF']
是本地系统上当前文件的路径。由于您不关心域名或查询字符串,因此这更容易。strrpos($pathToFile, '/')
获取/
中$pathToFile
的最后一次出现的索引。substr($pathToFile, strrpos($pathToFile, '/') + 1)
获取$pathToFile
的部分,从strrpos()
在步骤2中找到的索引后的字符开始。$currentFilename
中的文件名,您可以将其与您选择的文件进行比较。请注意,这将匹配任何 index.php
文件,而不仅仅是域根目录下的文件。例如,如果您的网站位于http://example.com
,http://example.com/subdir/index.php
也适用于$currentFilename == 'index.php'
。如果那不是你想要的,那你的做法会有所不同。
答案 1 :(得分:0)
使用此:
$domain=$_SERVER['REQUEST_URI'];
$path = explode('/',$domain);
if(array_search($path[2], "index.php"))
{
echo "hello";
}
我不确定parse_url()
是什么,但它似乎没有在您的代码中执行任何操作。