Как открыть php в браузере. Что PHP может узнать о браузере посетителя? Что же делать

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

Для определения браузера пользователя в PHP есть массив $_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 . И так далее, в любом браузере можно увидеть некое ключевое слово. Благодаря этому ключевому слову, без проблем удаётся однозначно определить браузер:

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

От автора: Если вы когда-нибудь запускали воздушного змея, то знаете, что это не так просто, хотя со стороны кажется наоборот. На самом деле нужно приловчиться, чтобы вовремя веревку натянуть или поймать воздушную «волну». Сегодня я расскажу, как запустить скрипт PHP и какие «веревочки» дергать, чтобы он не просто работал, а «летал»!

Особенности запуска

Как уже не раз упоминалось, – это серверный язык программирования, поэтому сделать так, чтобы результат работы его кода отобразился в браузере, будет немного сложнее. Для этого файл должен располагаться непосредственно на серверном пространстве. Для работы с PHP используются два типа сервера:

Обычный (удаленный) –предоставляется хостером.

Локальный – устанавливается на клиентской машине.

На стороне хостинга, чтобы увидеть результат работы скрипта, в строку браузера вводится адрес следующего формата: ваш_сайт.ru/имя_файла.php

На локальном сервере все обстоит иначе. Перед тем, как запустим PHP скрипт в браузере, выясним эти особенности.
В зависимости от применяемого сервера набираемый адрес может отличаться. Чаще всего в «наших» краях используются различные сборки с Apache, из которых самой распространенной является Денвер.

Запуск скрипта в Denwer

В «апачевских» сборках все скрипты запускаются в localhost. Чтобы продемонстрировать это на практике, создадим какой-нибудь интересный пример. Вот его код:

< html >

< head >

< meta http - equiv = "refresh" content = "1" >

< / head >

< body >

< time style = "font-size:36px;color:rgb(102,255,102)" > < / time >

< / body >

< / html >

Разместите этот код в файле PHP и сохраните его на виртуальном диске, который создается после запуска локального сервера. У меня это файл test2.php.

Вверху на снимке обозначен путь, где нужно размещать созданный файл. У вас этот путь может немного отличаться, если при инсталляции Денвера задали другое имя виртуального диска.

Теперь разберемся, как запустить PHP скрипт на компьютере. Для этого в браузере следует указать адрес в формате: localhost/имя_файла.php

Начинаем мучиться

Может, слишком и унылое название для раздела, но я немного намучился, пока получилось открыть файл через командную строку. При попытке запуска система ПК выдавала вот такого рода ошибки:

Это странно, поскольку упоминаемые библиотеки у меня присутствовали в папке ext. Оказывается, что все дело в неправильно прописанных путях в конфигурационном файле php.ini.

В нем нужно найти раздел «Paths and Directories» и исправить путь, указанный в параметре extension_dir. Измените правые слэши на левосторонние и добавьте в начале адреса букву виртуального диска.

Если запустить PHP скрипт из CMD консоли опять не получается, тогда следует просмотреть все пути, упоминаемые в сообщении ошибки, и исправить их.

Если все хорошо

В командной строке системе нужно указать путь, где находится «экзешник» интерпретатора языка PHP. В Денвере он находится по этому пути: Z:\usr\local\php5

Здесь же расположен и глобальный файл конфигурации.

Запускаем командную строку Винды. Затем указываем системе путь к исполняемому файлу PHP. После чего задаем путь к нужному скрипту: Z:\usr\local\php5\php.exe Z:\home\localhost\www\test2.php

Но в итоге вы получите не совсем ожидаемый результат:

И все потому, что командная строка «не понимает» теги . Перед тем, как запустить PHP скрипт из командной строки, немного модифицируем код, чтобы он возвращал нам только текущее время без эффекта «часов».

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

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


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


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

Отладка PHP кода выполняется самыми разными способами. Можно выводить информацию на экран, с помощью die или var_dump , с помощью файлов журнала, в которые пишутся сообщения об ошибках и предупреждения. Плохо то, что почти все перечисленные методы вносят нарушения в шаблон страниц и сообщения достаточно трудно вычленять в потоке другой информации.

Почему бы не использовать один инструмент для всех скриптов (и PHP и Javascript)? Таким инструментом может стать консоль JavaScript, которую можно использовать и для отладки PHP кода. Консоль входит в набор разработчика, который присутствует практически во всех современных браузерах по умолчанию или доступен в виде удобного дополнения. Она предоставляет собой отличный инструмент для цветного вывода с номером строки и всем, что нужно. А кроме того, можно выводить значения массивов и целых объектов в консоль.

Конечно, есть браузеры, в которых консоль отсутствует (например, IE) и инструмент отладки может нарушить процесс выполнения приложения. Но мы позаботимся, чтобы все проходило отлично.

Вот класс, который выполняет всю работу:

Class PHPDebug { function __construct() { if (!defined("LOG")) define("LOG",1); if (!defined("INFO")) define("INFO",2); if (!defined("WARN")) define("WARN",3); if (!defined("ERROR")) define("ERROR",4); define("NL","\r\n"); echo "".NL; /// Данный код предназначен для браузеров без консоли echo "if (!window.console) console = {};"; echo "console.log = console.log || function(){};"; echo "console.warn = console.warn || function(){};"; echo "console.error = console.error || function(){};"; echo "console.info = console.info || function(){};"; echo "console.debug = console.debug || function(){};"; echo ""; /// Конец секции для браузеров без консоли } function debug($name, $var = null, $type = LOG) { echo "".NL; switch($type) { case LOG: echo "console.log("".$name."");".NL; break; case INFO: echo "console.info("".$name."");".NL; break; case WARN: echo "console.warn("".$name."");".NL; break; case ERROR: echo "console.error("".$name."");".NL; break; } if (!empty($var)) { if (is_object($var) || is_array($var)) { $object = json_encode($var); echo "var object".preg_replace("~[^A-Z|0-9]~i","_",$name)." = \"".str_replace(""","\"",$object)."\";".NL; echo "var val".preg_replace("~[^A-Z|0-9]~i","_",$name)." = eval("(" + object".preg_replace("~[^A-Z|0-9]~i","_",$name)." + ")");".NL; switch($type) { case LOG: echo "console.debug(val".preg_replace("~[^A-Z|0-9]~i","_",$name).");".NL; break; case INFO: echo "console.info(val".preg_replace("~[^A-Z|0-9]~i","_",$name).");".NL; break; case WARN: echo "console.warn(val".preg_replace("~[^A-Z|0-9]~i","_",$name).");".NL; break; case ERROR: echo "console.error(val".preg_replace("~[^A-Z|0-9]~i","_",$name).");".NL; break; } } else { switch($type) { case LOG: echo "console.debug("".str_replace(""","\\"",$var)."");".NL; break; case INFO: echo "console.info("".str_replace(""","\\"",$var)."");".NL; break; case WARN: echo "console.warn("".str_replace(""","\\"",$var)."");".NL; break; case ERROR: echo "console.error("".str_replace(""","\\"",$var)."");".NL; break; } } } echo "".NL; } }

Код достаточно простой и понятный. Основная идея заключается в генерировании JavaScript кода, который выводит значения переменных и сообщения в консоль. Очень просто и эффективно.

Код, который содержится в секции для браузеров без консоли, создает пустые функции-заглушки и браузер будет выполнять скрипт, несмотря на присутствующие вызовы записи сообщений в консоль.

Теперь посмотрим на пример использования. Ниже приведенный код используется в демонстрационной странице:

// Включаем код для отладки и определяем объект require_once("PHPDebug.php"); $debug = new PHPDebug(); // Простое сообщение на консоль $debug->debug("Очень простое сообщение на консоль"); // Вывод переменной на консоль $x = 3; $y = 5; $z = $x/$y; $debug->debug("Переменная Z: ", $z); // Предупреждение $debug->debug("Простое предупреждение", null, WARN); // Информация $debug->debug("Простое информационное сообщение", null, INFO); // Ошибка $debug->debug("Простое сообщение об ошибке", null, ERROR); // Выводим массив в консоль $fruits = array("банан", "яблоко", "клубника", "ананас"); $fruits = array_reverse($fruits); $debug->debug("Массив фруктов:", $fruits); // Выводим объект на консоль $book = new stdClass; $book->title = "Гарри Потный и кто-то из Ашхабада"; $book->author = "Д. K. Роулинг"; $book->publisher = "Arthur A. Levine Books"; $book->amazon_link = "http://www.amazon.com/dp/0439136369/"; $debug->debug("Объект: ", $book);

Чтобы увидеть действие кода, надо открыть консоль JavaScript в браузере и открыть/перегрузить демонстрационную страницу.

В браузерах без консоли в коде появятся элементы div с сообщениями, а код выполнится до конца без перерывов.