Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: DOCUMENT_URI

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Cyrax123
Отправлено: 25 Мая, 2009 - 15:09:25
Post Id


Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




Здравствуйте. Подскажите, как реализовать следующие правило.
PHP:
скопировать код в буфер обмена
  1.  
  2. <? if ($DOCUMENT_URI == 'сайт/директория/все_поддиректории/')
  3. {
  4. echo 'текст';
  5. }
  6. else
  7. {
  8. echo '';
  9. }
  10. ?>
  11.  

Основная проблема в том, чтобы сделать это именно для всех поддерикторий, чтобы не указывать их вручную. Заранее спасибо за помощь.
 
 Top
EuGen Администратор
Отправлено: 25 Мая, 2009 - 15:49:10
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




strpos

?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Cyrax123
Отправлено: 25 Мая, 2009 - 16:05:19
Post Id


Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




EuGen пишет:
strpos

?

На знаком с этим вариантом. Не понял как его использовать.
 
 Top
Вездеход
Отправлено: 25 Мая, 2009 - 17:52:32
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <? if ($DOCUMENT_URI == 'сайт/директория/')
  2. {
  3. echo 'текст';
  4. }
  5. else
  6. {
  7. echo '';
  8. }
  9. ?>

мож прям так и написать? )

или указать их в массиве и перебрать его через foreach
или чтобы не писать вапще - прописать чтение каталога директория и выбрать от туда названия директорий


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Cyrax123
Отправлено: 25 Мая, 2009 - 18:39:24
Post Id


Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




Вездеход? пример можешь дать. А то ничего непонимаю)
 
 Top
Вездеход
Отправлено: 25 Мая, 2009 - 20:56:29
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




грубый вариант №1
PHP:
скопировать код в буфер обмена
  1. <?
  2. // массив с поддиректориями
  3. $dirs=array('dir_name1','dir_name2','dir_name3','dir_name4');
  4. // перебираем директории для проверки нашей
  5. foreach($dirs as $val) {
  6. // если найдено несоответствие - останавливаем скрипт (или напишите чтото свое)
  7. if ($DOCUMENT_URI != 'сайт/директория/'.$val) exit;
  8. }
  9.  
  10. //продолжаем работу скрипта
  11. echo '<html>...';
  12. ?>

2й писать лень - почитайте про работу с файлами

(Отредактировано автором: 25 Мая, 2009 - 20:57:28)



-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
AlexGreF
Отправлено: 25 Мая, 2009 - 21:01:10
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2009  
Откуда: Амурка


Помог: 0 раз(а)




А можно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $site = 'mysite';
  4. $dir = 'mydir';
  5.  
  6. if(substr($DOCUMENT_URI, 0, strlen($site.'/'.$dir)) == $site.'/'.$dir){
  7. echo 'текст';
  8. }
  9. else
  10. {
  11. echo '';
  12. }
  13. ?>
  14.  

(Добавление)
Вездеход пишет:
грубый вариант №1 ...

Такой вариант вообще не подойдёт, при первом же несоответствии он прекратит работу(ну или выведет что там надо вывести), а нужно чтобы он перебрал все элементы массива, и если ни одного соответствия не будет, тогда уж только останавливать...

(Отредактировано автором: 25 Мая, 2009 - 21:09:00)



-----
Моё место во фрилансе - http://weblancer[dot]net/users/alexsava
 
 Top
Вездеход
Отправлено: 25 Мая, 2009 - 23:37:32
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




а блин... вот я дурак )

2 Cyrax123
вопщем. вам надо через strpos выбрать значение поддиректории
и потом через функцию in_array проверить
как через strpos выбрать значение чето туплю.. Не понял
потому можно так =)
PHP:
скопировать код в буфер обмена
  1. <?
  2. // массив с поддиректориями
  3. $dirs=array('dir_name1','dir_name2','dir_name3','dir_name4');
  4. $poddir=strrev($DOCUMENT_URI);
  5. $poddir=substr($DOCUMENT_URI, 0, strpos($poddir, '/'));
  6. if (!in_array($poddir))  echo '';
  7. else echo 'текст';
  8. ?>


AlexGreF
ваш вариант тем не менее ничуть не лучше - результата от него не много...

(Отредактировано автором: 25 Мая, 2009 - 23:38:11)



-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
AlexGreF
Отправлено: 26 Мая, 2009 - 11:26:32
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2009  
Откуда: Амурка


Помог: 0 раз(а)




Вездеход пишет:
AlexGreF
ваш вариант тем не менее ничуть не лучше - результата от него не много...

По крайней мере в моём варианте меньше строк получится.. На одну.. Ну а по быстродействию не знаю что лучше...
(Добавление)
И ещё в функции in_array() чего-то не хватает... Вроде так надо:


-----
Моё место во фрилансе - http://weblancer[dot]net/users/alexsava
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB