Как открыть php файл в браузере. Как можно узнать что-либо о браузере клиента

Данную статью я решил посветить всем начинающим изучать PHP , потому что у всех возникает одна и та же ошибка. Почему её допускают, не знаю, но допускают постоянно. Я без преувеличений скажу, что получил уже около сотни вопросов, на которые ответ будет дан в этой статье. Эта ошибка связана с неправильным запуском в PHP .

Как делают практически все новички:

  1. Создают PHP-файл (иногда HTML-файл , но это самые новички).
  2. Записывают туда PHP-код .
  3. И двойным кликом пытаются открыть его в браузере.

Результат, браузер код открывает, но исполнять его не торопится. А просто выводит какие-то куски кода обычным текстом, либо вообще ничего не выводит.

Ошибка данного подхода состоит в том, что ученик не понимает, что PHP - это серверный язык , а не клиентский. Это HTML или JavaScript клиентские языки, они, конечно, обрабатываются браузером. Но для PHP нужен интерпритатор . И вот данный интерпритатор запускается сервером.

Вывод: запускать PHP-код надо через сервер . Если у Вас Denwer , значит, через него.

Теперь, как запускать PHP-код через Denwer . Большинство новичков вновь делают ошибку. Они вроде бы всё делают правильно, создают нужные папки, перезапускают Denwer и вроде бы, осталось только правильно вызвать файл. Но тут снова ошибка: они вновь открывают файл просто в браузере (либо перетаскиванием файла в браузер, либо двойным кликом). Это легко можно заметить по адресу в адресной строке. Там будет что-то наподобие: file:///Z:\home\mysite.local\www\script.php .

А правильно запускать надо, вводя адрес виртуального хоста . То есть прямо в адресной строке браузера вводите: http://mysite.local/script.php - всё, теперь скрипт запустится и выведет свой результат.

Надеюсь, данная статья поможет многим новичкам, только начинающим изучать PHP .

Возможно ли узнать более детальную информацию о браузере посетителя кроме строки, содержащейся в $_SERVER[«HTTP_USER_AGENT»] : поддерживает ли яву, апплеты, таблицы стилей и фреймы? А может это вообще гуглобот зашел?

Предистория

Захотелось заказчику, чтобы при заходе на сайт отображался его любимый логотип с пробегающей по нему искоркой света… Уговорить отказаться от этой идеи человека я так и не смог, но в итоге мы решили, что радость эта будет отображаться только раз, и только при заходе на главную страницу. Если человек попал на сайт с поисковика, он сразу переходит на страницу. Если он руками вписывает адрес в браузер, он перенаправляется на страницу с анимацией. После успешного отображения в куки пишется маркер, и видео больше не грузится. Но… Если на сайт зайдет не человек, а поисковик, то писать себе куки он не будет. Поэтому он всегда будет натыкаться на страницу с анимацией, и в выдаче поисковиков мы себя так и не увидим. Да и зачем поисковику логотип компании видеть:)

Как можно узнать что-либо о браузере клиента

Проблема в итоге была решена методом поиска подстроки имен пауков нескольких известных поисковиков в переменной $_SERVER[«HTTP_USER_AGENT»] . Но перед этим я походил по ману и обнаружил интересную функцию get_browser() . Она умеет выдавать массив параметров браузера гостя нашего сайта, назначения половины которых, правда, я так и не понял:) Единственная тонкость работы этой функции в том, что она требует наличия на хосте свежей версии файла browscap.ini , а также настройки php.ini . Очевидно что нашим ленивым (просьба не обижаться) админам влом постоянно обновлять этот файлик, так что на это обычно забивают и функция попросту недоступна. Проверить это можно, заглянув в phpinfo() , отыскав там диррективу browscap , и ничуть не удивившись что напротив нее гордо красуется надпись «no value», приступить к прочтению следующего параграфа.

Что же делать

Для начала нам нужен сам файл browscap.ini . Его можно скачать с http://browsers.garykeith.com/ . Может он есть и еще где-то, но данный источник рекомендуемый для скачивания самим PHP, по-этому пользуемся именно им.
Возникает вопрос: а куда нам, собственно, теперь его пристроить? Админ нас к серверу не подпустит, да и в настройках ковыряться не даст. По-этому надо бы поискать другой вариант. А их в сети нашлось целых два.
  • Browser Capabilities PHP Project - PHP5 ONLY
Тут находятся детальные и простые инструкции по запуску. Если вкратце, остается скачать нужную библиотеку, подключить в нужное место, и вызвать соответствующую функцию. Для Browser Capabilities PHP Project вызов выглядит вот так:

If(ini_get("browscap"))
{
//неленивые админы попались

/* старт шутки */
//вероятность выполнение участка кода стремится к нулю поэтому пишем сюда
echo "Начальство - ты меня задрало!";
/* конец шутки - всем смеяться:)*/

$browserInfo=get_browser();

}
else
{
//используем нашу библиотеку
require_once("browscap.php");
$bc = new Browscap("path/to/the/cache/dir");
$browserInfo=$bc->getBrowser();

В результате чего получим примерно следующее
stdClass Object
=> Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_2; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.1 Safari/525.18
=> ^mozilla/5\.0 \(macintosh; .; .*mac os x.*\) applewebkit/.* \(.*\) version/3\.1.* safari/.*$
=> Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.1* Safari/*
=> Safari 3.1
=> MacOSX
=> Safari
=> 3.1
=> 3
=> 1
=> 1
=> 1
=> 1
=> 1
=> 1
=> 1
=> 1
=> 2
=> 2
=> 1
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
=> 0
=>
=> 0
)

UPD. Полученные данные свидетельствуют лишь о поддержке браузером некоторой технологии, а не о ее доступности, так как файл browscap.ini это по сути база данных всех веб-клиентов, в которой по значению User-Agent браузера предоставляется информация о поддерживаемых этим браузером технологиях. Тоесть для современных браузеров при отключенных куках и яве соответствующие параметры все равно будут возвращать еденицу.

В разделе на вопрос Как открыть файл с расширением.php? заданный автором шеврон лучший ответ это чувак Roma2000 прогнал! Хотя если зделать как он сказал то все будет работать!
есть способ попроще! например что ты понмаешь под словом открыть? PHP ето интернет страничка.
в любом браузере в меню файл есть такой пункт открыть вот через него.
если тебе надо просмотреть внутреннею начинку то через любой текстовый редактор, например блокнот, там тоже открыть, можно вордом, но там как я непомню, тоже вроде открыть но не как www страничку а как текст.

Ответ от роспуски [гуру]
В любом браузере.


Ответ от Осоловеть [новичек]
Mozilla Firefox!


Ответ от POSTAL [новичек]
Можно ещё проще - использовать Денвер=)! Для правки кода.пхп предложил бы "Дримвивер" - лучше чем блокнот, хоумсайт и тд
ЗЫ: Papa Karlo правильно предложил.. и Roma2000 тоже. Но тебе нужно было сказать нам, для правки (изменений в коде файла) ты хочешь этот файл открыть ИЛИ визуально взглянуть "что будет", нажав на файл с расширением.пхп, так вот, всего ты не увидишь - т.к. что бы увидить что может этот.пхп-файл можно только запустив файл на сервере с "апачи" .

Очень часто я слышу мнение, что через PHP невозможно узнать, какой браузер у пользователя , поскольку это серверный язык, а не клиентский. На самом деле, это далеко не так. Браузер - это клиент, а любой сервер имеет полное право знать информацию о клиенте, который к нему подключается, то есть о браузере. А как определить браузер через PHP , об этом Вы узнаете из этой статьи.

Для определения браузера пользователя в PHP есть массив $_SERVER , у которого есть элемент с ключом HTTP_USER_AGENT :

echo $_SERVER["HTTP_USER_AGENT"];
?>

Вывод будет примерно таким: "Opera/9.80 (Windows NT 6.1; WOW64; U; ru) Presto/2.10.289 Version/12.02 ", если это Opera , либо таким: "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0 ", если клиент - это Firefox . И так далее, в любом браузере можно увидеть некое ключевое слово. Благодаря этому ключевому слову, без проблем удаётся однозначно определить браузер:

$user_agent = $_SERVER["HTTP_USER_AGENT"];
if (strpos($user_agent, "Firefox") !== false) $browser = "Firefox";
elseif (strpos($user_agent, "Opera") !== false) $browser = "Opera";
elseif (strpos($user_agent, "Chrome") !== false) $browser = "Chrome";
elseif (strpos($user_agent, "MSIE") !== false) $browser = "Internet Explorer";
elseif (strpos($user_agent, "Safari") !== false) $browser = "Safari";
else $browser = "Неизвестный";
echo "Ваш браузер: $browser";
?>

Вот так легко определить, какой браузер у пользователя через PHP , а дальше можно, например, подгрузить определённые стили для конкретного браузера, или даже его версии.