在URL之后检测Dir

时间:2012-02-24 15:39:18

标签: php url

我想编写一个PHP脚本,它首先检测URL并查看它们是否有子目录,如果它们是像site.com这样的简单URL,那么它会在DB的一个表中写入1但是如果URL是像这个site.com/images或site.com/images/files这样的东西,它不应该做查询..

编辑:通过Mob回答它有效但如果有多个网址则不起作用

 $url = "http://lol.com";
 $v = parse_url($url);

 if (isset( $v['path']) && (!empty($v['path'])) && ($v['path'] != "/") ){
 echo "yeah";
 } else { 
 echo "nah";
 }

3 个答案:

答案 0 :(得分:2)

使用parse_url

$url = "http://lol.com";
$v = parse_url($url);

if (isset( $v['path']) && (!empty($v['path'])) && ($v['path'] != "/") ){
       echo "yeah";
   } else { 
       echo "nah";
   }

修改

解析多个网址;

  • 将网址存储在数组中。
  • 使用循环迭代数组,同时将值传递给执行检查的函数

下面:

<?php


$arr = array("http://google.com",
             "http://google.com/image/",
             "http://flickr.com",
             "http://flickr.com/image" );

foreach ($arr as $val){
    echo $val."       ". check($val)."\n";
}

function check ($url){
$v = parse_url($url);

if (isset( $v['path']) && (!empty($v['path'])) && ($v['path'] != "/") ){
           return "true";
       } else { 
           return "false";
       }
}
    ?>

输出结果为:

http://google.com              false
http://google.com/image/       true
http://flickr.com              false
http://flickr.com/image        true

答案 1 :(得分:0)

尝试strpos()

语法:strpos($haystack, $needle)

您可以使用以下内容:

if (!strpos($url, '/'))
{
    do_query();
}

修改的 记得在http://中删除斜杠。

答案 2 :(得分:0)

$ _ SERVER就是您所需要的。我会让你谷歌吧。