Вопрос по REQUEST_URI

ProTeg
На сайте с 09.06.2008
Offline
226
880

Стандартный код

<?php {

if ($_SERVER["REQUEST_URI"]=="/stranica"
) { ?>
------ Содержимое----------
<?php }} ?>

Этот код выводит содержимое на определённой странице. Как сделать так, чтобы содержимое выводилось на всех страницах, урл которых начинается на /stranica... Те страницы типа /stranica/slovo.html и ей подобные...

ДП
На сайте с 23.11.2009
Offline
195
#1


if(strpos($_SERVER["REQUEST_URI"],"/stranica")===0){
...
}

так, наверно.

Милованов Ю.С
На сайте с 24.01.2008
Offline
197
#2

if ( mb_substr($_SERVER["REQUEST_URI"], 1, 8, 'utf-8') == 'stranica' )

{

//your code

}

Если кодировка отличная от utf-8, то значение utf-8 измените.

Выбирайте любой вариант:)

Подпись))
ProTeg
На сайте с 09.06.2008
Offline
226
#3

а какой лучше? :)

siv1987
На сайте с 02.04.2009
Offline
427
#4
ProTeg:
а какой лучше?

Тот который подходит для вашего случая.

Милованов Ю.С
На сайте с 24.01.2008
Offline
197
#5
ProTeg:
а какой лучше? :)

1 вариант быстрей в 10 раз:)


<?php
$TS = microtime(1);
for ($i=0; $i<1000000; $i++)
{
if(strpos($_SERVER["REQUEST_URI"],"/test")===0){} /// 1 вариант
if( mb_substr($_SERVER["REQUEST_URI"], 1, 4, 'utf-8') == 'test' ){} ///2 вариант

}
echo (microtime(1)-$TS);
?>

Было проведено по 10 заездов для каждого варианта

1 вариант: минимальное 0.92с, среднее 0.95с , максимальное 1 раз 1.1 секунды

2 вариант: минимальное 10.01, среднее 10.63, максимальное 10.8

Но, когда вместо mb_substr, был заюзан обычный substr разница практически пропала(по среднему времени 0.05сек), а когда в 1 варианте использовал mb_strpos время выполнения также стало в районе 10 секунд.

Подойдет любой вариант. Главное знайте, что если у Вас будет сайт на ЮТФе и в РЕКВЕСТ_УРИ будет кириллица, то придется юзать mb_* функции, так как ПХП на уровне ядра не поддерживает ЮТФ:(

LEOnidUKG
На сайте с 25.11.2006
Offline
1616
#6
for ($i=0; $i<1000000; $i++)

Это для вконтакта или яндекс сервера тесты да? :)

Быстрее сервер ляжет, чем будет столько вызовов. Поэтому все эти тесты туфта.

Разницы никакой нет. ТС, берите любой, тестируйте.

✅ Трастовых площадок под размещение статей и ссылок. Опыт 14 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
Милованов Ю.С
На сайте с 24.01.2008
Offline
197
#7

Да я и не думал что будет стока вызовов. Это как бэ математика, погрешности. Насколько помню со школы: "чем больше измерений, тем меньше погрешность":)

rbbumfirst
На сайте с 03.04.2009
Offline
87
#8
Милованов Ю.С:
1 вариант быстрей в 10 раз:)


Подойдет любой вариант. Главное знайте, что если у Вас будет сайт на ЮТФе и в РЕКВЕСТ_УРИ будет кириллица, то придется юзать mb_* функции, так как ПХП на уровне ядра не поддерживает ЮТФ:(

Поддерживает

Web developer (http://rudov.com). разработка на Go, ReactJS, React Native
Милованов Ю.С
На сайте с 24.01.2008
Offline
197
#9

я имел ввиду версии до 5.3

VHS-1980
На сайте с 21.05.2010
Offline
91
#10

Как правило все эти замеры производительности ничто, по сравнению с одним тупизмом программера...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий