PHP

PHP переменные

Распечатаем некоторые переменные всегда доступные в Ваших скриптах. Все они взяты из самого простого скрипта <?php phpinfo(); ?>
$_SERVER['DOCUMENT_ROOT']	 /var/www/omsk/data/www/f9r.ru
$_SERVER['HTTP_ACCEPT']	 text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8
$_SERVER['HTTP_ACCEPT_CHARSET']	 
$_SERVER['HTTP_ACCEPT_ENCODING']	 gzip,deflate,sdch
$_SERVER['HTTP_ACCEPT_LANGUAGE']	 ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
$_SERVER['HTTP_CONNECTION']	 close
$_SERVER['HTTP_HOST']	 f9r.ru
$_SERVER['HTTP_KEEP_ALIVE']	 
$_SERVER['HTTP_REFERER']	 http://f9r.ru/phpaz.html
$_SERVER['HTTP_USER_AGENT']	 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36
$_SERVER['PATH']	 /usr/local/bin:/usr/bin:/bin
$_SERVER['REMOTE_ADDR']	 46.247.241.197
$_SERVER['REMOTE_PORT']	 55373
$_SERVER['SCRIPT_FILENAME']	 /var/www/omsk/data/www/f9r.ru/all.php
$_SERVER['SERVER_ADDR']	 188.138.124.199
$_SERVER['SERVER_ADMIN']	 admin@f9r.ru
$_SERVER['SERVER_NAME']	 f9r.ru
$_SERVER['SERVER_PORT']	 80
$_SERVER['SERVER_SIGNATURE']	 
Apache/2.2.16 (Debian) Server at f9r.ru Port 80
$_SERVER['SERVER_SOFTWARE']	 Apache/2.2.16 (Debian)
$_SERVER['GATEWAY_INTERFACE']	 CGI/1.1
$_SERVER['SERVER_PROTOCOL']	 HTTP/1.0
$_SERVER['REQUEST_METHOD']	 GET
$_SERVER['QUERY_STRING']	 variable.html
$_SERVER['REQUEST_URI']	 variable.html
$_SERVER['SCRIPT_NAME']	 /all.php
$_SERVER['PHP_SELF']	 /all.php

Броузер посылает на сервер запрос странички и одновременно несколько переменных передаёт серверу. Эти переменные появляются в скрипте после запроса, полученного от броузера. Покажем переменные полученные от брозера пользователя, они всегда "сидят в скрипте", Вы всегда имеете к ним доступ:
$_SERVER['HTTP_ACCEPT']

Показывает какие форматы файлов броузер может принимать и показывать пользователю.
$_SERVER['HTTP_ACCEPT_CHARSET']

Показывает какая кодировка броузера пользователя по умолчанию.
$_SERVER['HTTP_ACCEPT_ENCODING']

Показывает, готов ли броузер пользователя принимать сжатые html странички, для последующего их трансформирования в читабельный вид.
$_SERVER['HTTP_ACCEPT_LANGUAGE']

Показывает какой язык принят по умолчанию на броузере пользователя.
$_SERVER['HTTP_CONNECTION']

Показывает каким способом броузер соединился с сервером
$_SERVER['HTTP_CACHE_CONTROL']

Показывает разрешено ли кэширование страничек броузером пользователя.
$_SERVER['HTTP_KEEP_ALIVE']

Показывает через какое время броузер разорвёт соединение по умолчанию.
$_SERVER['HTTP_REFERER']

Показывает с какой странички пришёл броузер пользователя.
$_SERVER['HTTP_USER_AGENT']

Показывает информацию о самом броузере пользователя, его операционной системе.

Эти переменные бывают пусты, то есть некоторые броузеры не посылают некоторые заголовки, но всё - равно, данные переменные являются мощным средством в ведении статистики посещения сайта и настройки Ваших скриптов.

То есть, что хотелось подчеркнуть, есть переменные посылаемые броузером пользователя, и все переменные можно взять (то есть, если вы не знаете как они обозначаются) через просмотр функции phpinfo(). Просто, не брезгуйте, и иногда заглядывайте в нее, вот и все... Там лежат все переменные доступные в данный момент Вашему скрипту. Как это сделать?

Очень просто:
<?php
    // Ваш рабочий скрипт сверху, а затем
phpinfo (); 
?>

Или сразу:
<?php
    // Ваш рабочий скрипт сверху, а затем
print "<br>\n". 
$_SERVER['HTTP_ACCEPT'] ."<br>\n". 
$_SERVER['HTTP_ACCEPT_CHARSET'] ."<br>\n". 
$_SERVER['HTTP_ACCEPT_ENCODING'] ."<br>\n". 
$_SERVER['HTTP_ACCEPT_LANGUAGE'] ."<br>\n".	 
$_SERVER['HTTP_CONNECTION'] ."<br>\n". 
$_SERVER['HTTP_CACHE_CONTROL'] ."<br>\n". 
$_SERVER['HTTP_KEEP_ALIVE'] ."<br>\n". 
$_SERVER['HTTP_REFERER'] ."<br>\n". 
$_SERVER['HTTP_USER_AGENT'] ."<br>\n"; 
?>

более подробно о phpinfo читать здесь...

Мы рассмотрели Глобальные переменные, доступные всегда, но есть и те, которые посылаем мы сами на сервер, с ними могут быть проблемы.

Если сервер php не принимает посылаемую переменную, то это значит совсем другое... Он её принимает, но у него отключена поддержка так называемых Глобальных переменных. Это касается Php 5, в котором упор сделан на безопасность. Чтобы все переменные переданные на сервер извне были доступны скрипту, надо вначале файла .php прописать строки:
<?php
    // теперь все Сookie доступны
if ( isset ( $_COOKIE ) ){ foreach ( $_COOKIE as $key=>$val ) { $$key=$val; } }
    // теперь все Get запросы доступны
if ( isset ($_GET )) { foreach ( $_GET as $key=>$val) { $$key=$val; } }
    // теперь все Post запросы доступны
if ( isset ( $_POST ) ) { foreach ( $_POST as $key=>$val ) { $$key=$val; } }
?>
Теги:
переменные
Добавлено: 02 Апреля 2018 21:37:02 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...