我想编写一个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";
}
答案 0 :(得分:2)
$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就是您所需要的。我会让你谷歌吧。