找到当前的url并将它们分成几部分并检查url中是否有index.php

时间:2011-08-04 04:50:49

标签: php arrays

当我拿到页面的当前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";
        }
  ?>

但它不起作用,所以大家帮助我,并提前感谢你,因为我知道我会对你的答案感到满意。

2 个答案:

答案 0 :(得分:1)

试试这个:

$pathToFile = $_SERVER['PHP_SELF'];

$currentFilename = substr($pathToFile, strrpos($pathToFile, '/') + 1);

if($currentFilename == 'index.php')
{
    echo 'This file is index.php!';
}
  1. $_SERVER['PHP_SELF']是本地系统上当前文件的路径。由于您不关心域名或查询字符串,因此这更容易。
  2. strrpos($pathToFile, '/')获取/$pathToFile的最后一次出现的索引。
  3. substr($pathToFile, strrpos($pathToFile, '/') + 1)获取$pathToFile的部分,从strrpos()在步骤2中找到的索引后的字符开始。
  4. 您应该只留下$currentFilename中的文件名,您可以将其与您选择的文件进行比较。
  5. 请注意,这将匹配任何 index.php文件,而不仅仅是域根目录下的文件。例如,如果您的网站位于http://example.comhttp://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()是什么,但它似乎没有在您的代码中执行任何操作。