Определить Dir после / в URL - PullRequest
1 голос
/ 24 февраля 2012

Я хочу написать PHP-скрипт, который сначала обнаружит URL-адреса и увидит, есть ли у них sub dir или нет, если они являются простым URL-адресом, таким как site.com, то он записал бы 1 в одну из таблиц БД, но если URL-адресчто-то вроде этого site.com/images или site.com/images/files, тогда он не должен выполнять запрос ..

РЕДАКТИРОВАТЬ: Ответ от Mob, он работает, но не работает, если есть более одного URL

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

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

Ответы [ 3 ]

2 голосов
/ 24 февраля 2012

Использование parse_url

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

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

EDIT:

Для анализа нескольких URL;

  • Сохранить URL-адреса в массиве.
  • Использование цикла для перебора массива при передаче значений в функцию, выполняющую проверку

Здесь:

<?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
0 голосов
/ 24 февраля 2012

$ _ SERVER - это то, что вам нужно. Я позволю тебе погуглить.

0 голосов
/ 24 февраля 2012

Попробуйте strpos()

Синтаксис: strpos($haystack, $needle)

Вы можете использовать что-то вроде:

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

edit Не забудьте убрать косые черты в http://, конечно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...