Please note that Internet Explorer 11 no longer contains MSIE in its user agent string, for example on Windows 8 with IE11 I get the following:
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
So if you want to include a test for IE11, the code above changes to:
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE ||
strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== FALSE) {
echo 'You are using Internet Explorer.<br />';
}
?>Нешто корисно
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Нешто корисно
Референца за `tutorial.useful.php` со подобрена типографија и навигација.
Нешто корисно
Сега да направиме нешто покорисно. Ќе провериме каков прелистувач користи посетителот. За таа цел, ја проверуваме низата на кориснички агент што прелистувачот ја испраќа како дел од HTTP барањето. Оваа информација е зачувана во variable. Променливите во PHP секогаш започнуваат со знакот долар. Променливата што нè интересира во моментов е $_SERVER['HTTP_USER_AGENT'].
Забелешка:
$_SERVER е специјална резервирана PHP променлива што содржи информации за целиот веб сервер. Таа е позната како суперглобална. Погледнете ја поврзаната страница во прирачникот за superglobals Користење на PHP од командната линија
За да ја прикажете оваа променлива, едноставно можете да направите:
Пример #1 Печатење на променлива (елемент од низа)
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>Примерен излез од оваа скрипта може да биде:
Mozilla/5.0 (Linux) Firefox/112.0
Постојат многу types променливи достапни во PHP. Во горниот пример, испечативме елемент од Низа променлива. Низите можат да бидат многу корисни.
$_SERVER е само една променлива што PHP автоматски ви ја прави достапна. Список може да се види во Резервирани променливи сектор од прирачникот или можете да добиете целосен список од нив со гледање на излезот од phpinfo() функцијата искористена во примерот во претходниот дел.
Можете да ставите повеќе PHP изрази во PHP ознака и да создадете мали блокови од код што прават повеќе од само едноставно ехо. На пример, ако сакате да проверите за Firefox, можете да го направите ова:
Пример #2 Пример со користење на контролни структури and functions
<?php
if (str_contains($_SERVER['HTTP_USER_AGENT'], 'Firefox')) {
echo 'You are using Firefox.';
}
?>Примерен излез од оваа скрипта може да биде:
You are using Firefox.
Тука воведуваме неколку нови концепти. Имаме if израз. Ако сте запознаени со основниот синтаксен систем што го користи јазикот C, ова треба да ви изгледа логично. Инаку, веројатно треба да земете воведничка книга за PHP и да ги прочитате првите неколку поглавја, или да го прочитате Референција за јазик дел од прирачникот.
Вториот концепт што го воведовме беше str_contains()
повик на функција. str_contains() е функција вградена во PHP која утврдува дали даден стринг содржи друг стринг. Во овој случај бараме 'Firefox' (т.н. игла) внатре
$_SERVER['HTTP_USER_AGENT'] (т.н. сено). Ако иглата се најде во сеното, функцијата враќа точно. Инаку, враќа false. Ако враќа trueсимболот, на пр. if изразот се проценува на true
и кодот во неговите {загради} се извршува. Инаку, кодот не се извршува. Слободно креирајте слични примери, со if,
else, и други функции како strtoupper() and
strlen(). Секоја поврзана страница од прирачникот содржи примери. Ако не сте сигурни како да користите функции, ќе сакате да ја прочитате и страницата од прирачникот на како да се прочита дефиниција на функција и делот за
PHP функции.
Можеме да го направиме ова чекор понатаму и да покажеме како можете да влегувате и излегувате од PHP режим дури и среде PHP блок:
Пример #3 Мешање на двата HTML и PHP режими
<?php
if (str_contains($_SERVER['HTTP_USER_AGENT'], 'Firefox')) {
?>
<h3>str_contains() returned true</h3>
<p>You are using Firefox</p>
<?php
} else {
?>
<h3>str_contains() returned false</h3>
<p>You are not using Firefox</p>
<?php
}
?>Примерен излез од оваа скрипта може да биде:
<h3>str_contains() returned true</h3> <p>You are using Firefox</p>
Наместо да користиме PHP изјава за ехо за да прикажеме нешто, излеговме од PHP режим и само испративме директен HTML. Важната и моќна точка што треба да се забележи овде е дека логичкиот тек на скриптата останува недопрен. Само еден од HTML блоковите ќе биде испратен до гледачот во зависност од резултатот на str_contains(). Со други зборови, зависи од тоа дали стринг Firefox е пронајден или не.