[PHP] отображать или не отображать картинку в зависимости от адресной строки

Тема в разделе "PHP", создана пользователем ufaclub, 27 авг 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    394
    Симпатии:
    17
    Как сделать на php чтоб картинка не грузилась только на главной странице?
    т.е при условии что если в строке браузера www.site.ru/index.php то картинка не грузиться,
    а если в любом другом месте сайта т.е отличный адресс от www.site.ru/index.php то картинка грузиться.


    Пример кода в шаблоне:

    PHP:
        <h1 class="logo">
        <a href="index.php" title="<?php echo $siteName?>"><span><?php echo $siteName?></span></a>
        </h1>
     
  2. omfg

    omfg

    Регистр.:
    4 авг 2009
    Сообщения:
    159
    Симпатии:
    46
    <? if($_SERVER['PHP_SELF']!="/index.php"){выводишь картинку}?>
     
  3. Arqin

    Arqin

    Регистр.:
    17 мар 2009
    Сообщения:
    185
    Симпатии:
    37
    Тогда уж
    PHP:
    <? if($_SERVER['SCRIPT_URL']!="/index.php"){выводишь картинку}?>
     
  4. omfg

    omfg

    Регистр.:
    4 авг 2009
    Сообщения:
    159
    Симпатии:
    46
  5. Atec

    Atec

    Регистр.:
    28 апр 2007
    Сообщения:
    296
    Симпатии:
    31
    Лучше всего использовать $_SERVER['REQUEST_URI'] ну и условие типа

    if($_SERVER['REQUEST_URI']=='/index.php') echo "<img src=.... />";

    Т.к. малоли что вы там за скрипт вместо Index.php будете исполнять...
     
  6. Arqin

    Arqin

    Регистр.:
    17 мар 2009
    Сообщения:
    185
    Симпатии:
    37
    Угу... Перепутал с REQUEST_URI =(

    Но в случае если будет какая-нить CMS типа Joomla, которая всё через index.php прогоняет, то это не сработает)
     
  7. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    394
    Симпатии:
    17
    сделал так

    <?php
    if($_SERVER['REQUEST_URI'] == '/index.php')
    {
    echo'
    <h1 class="logo">
    <a href="index.php" title="'.$siteName.'"><span>'.$siteName.'</span></a>
    </h1>';
    }
    ?>

    но.... так у меня чпу нету и получается что урл следушей открытой страницы выглядит следующим образом

    PHP:
    http://test1.ru/index.php?option=com_content&view=category&layout=blog&id=34&Itemid=60  
    и данное условие считает что ето тот ж /index.php не показывает картинку!

    как исправить?
     
  8. omfg

    omfg

    Регистр.:
    4 авг 2009
    Сообщения:
    159
    Симпатии:
    46
    да вроде нормально должно быть... проверяй еще $_SERVER['QUERY_STRING'] тогда, пустое или нет
     
  9. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    394
    Симпатии:
    17
    а как это проверить то?
     
  10. Arqin

    Arqin

    Регистр.:
    17 мар 2009
    Сообщения:
    185
    Симпатии:
    37
    Можно к примеру разбирать строку запроса в массив и сравнивать потом по условию элемент массива... что-то типа:
    PHP:
    $arr explode('&'$_SERVER['QUERY_STRING']);
    //Упорядочиваем наш массив для удобства обращения
    foreach ($ar as $key => $val)
    {
    $k explode('='$val);
    $res_arr[$k[0]] = $k[1];
    }
    /*
    А теперь выбираем нужный нам параметр и сравниваем. 
    Для примера выведем картинку только в layot=blog 
    */
    if ($res_arr['layot'] == 'blog') {
    echo
    '
    <h1 class="logo">
    <a href="index.php" title="'
    .$siteName.'"><span>'.$siteName.'</span></a>
    </h1>'
    ;
    }
    P.s.: Ну а если тебе тупо на главной нуна выводить, тогда вариант omfg в самый раз

    Добавлено через 3 минуты
    PHP:
    if ($_SERVER['QUERY_STRING'] == '')
    ;)
     
Статус темы:
Закрыта.