KnigaRead.com/

White cat - Справочник по PHP

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн white cat, "Справочник по PHP" бесплатно, без регистрации.
Перейти на страницу:

Синтаксис:

int connection_aborted(void);

Функция connection_aborted() возвращает true, если подключение было разорвано пользователем.


connection_status


Определения статуса подключения.

Синтаксис:

int connection_status(void);

Возвращает значение битового поля, позволяющее выяснить в "завершающей" функции, был ли сценарий завершен досрочно и причину этого. Например, если возвращается 3 (ABORTED | TIMEOUT), то это означает, что время выполнения истекло, а также то, что пользователь отказался от загрузки страницы.

Если возвращается 0 (то есть значение NORMAL), то это означает, что выполнение сценария не было прервано.


connection_timeout


Определения наступления тайм-аута.

Синтаксис:

int connection_timeout(void);

Возвращает true, если время выполнения сценария истекло.


ignore_user_abort


Прерывание сценария при разрыве подключения.

Синтаксис:

int ignore_user_abort([int setting]);

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


register_shutdown_function


Устанавливает функцию, которая будет выполнена при завершении.

Синтаксис:

int register_shutdown_function(string func);

Регистрирует функцию с именем func в качестве функции, запускаемой после завершения сценария.

Заметьте: так как после завершения функции никакие средства вывода недоступны, это делает для функции, зарегистрированной в качестве "завершающей", недоступными обычные средства отладки, такие команды как print или echo.

Дополнительные функции


get_browser


Определение возможностей браузера.

Синтаксис:

object get_browser([string user_agent]);

Возвращаемая информация извлекается из файла browscap.ini. Для определения браузера используется значение переменной $HTTP_USER_AGENT или значение, содержащееся в аргументе user_agent.

Информация возвращается в виде свойств объекта и отражает возможности клиентского браузера (например, версию, поддерживает ли он javascript или cookies).

<?php

function list_array($array) {

while (list ($key, $val) == each ($array)) {

$str .= "<b>$key:</b> $val<br>n";

}

return $str;

}


echo "$HTTP_USER_AGENT<hr>";

$bouser = get_browser();

echo list_array ((array) $browser);

?>

Содержимое возможного вывода:

Mozilla/4.5 [en] (X11: Linux 2.2.9 i586)<hr><b>browser_name_pattern:</b>Mozilla/4.5.*<br><b>parent:</b>Netscape<br><b>platform:</b>Unknown<br><b>majorver:</b>4<br><b>minorver:</b>5<br><b>browser:</b>Netscape<br><b>version:</b>4<br><b>frames:</b>1<br><b>tables:</b>1<br><b>cookies:</b>1<br><b>backgroundsounds:</b> <br><b>vbscript:</b> <br><b>javascript:</b>1<br><b>javaapplets:</b>1<br><b>activexcontrols:</b> <br><b>beta:</b> <br><b>crawler:</b> <br><b>authenticodeupdate:</b> <br><b>msn:</b> <br>

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


highlight_file


Вывод содержимого файла с цветовой разметкой.

Синтаксис:

boolean highlight_file(string filename);

Имя или путь файла указывается в аргументе. Цвета выделения синтаксиса определяются в файле конфигурации PHP. Возвращает true или false при ошибке.

Например, чтобы заставить сервер Apache при получении запроса с URL, содержащего значение вида "http://имя.сервера/source/путь/к/файлу.php", выводит листинг файла "http://имя.сервера/source/путь/к/файлу.php", сделайте следующее. Добавьте в файл httpd.conf следующий фрагмент:

# Используем директиву "ForceType" чтобы указать,# что значение source в URL - не каталог, а имя сценария PHP<Location /source> ForceType application/x-httpd-php</Location>

Создайте в корневом web-каталоге следующий файл с именем source:

<HTML><HEAD>

<TITLE>Source Display</TITLE>

</HEAD>

<BODY bgcolor=#FFEEDD>

<?php

$script = getenv ("PATH_TRANSLATED");

if(!$script) {

echo "<BR><B>ERROR: Укажите имя сценария</B><BR>";

} else {

if(ereg("(.php|.inc)$",$script)) {

echo "<H!>Листинг файла: $PATH_INFO</H1>n<hr>n";

if( [email protected]_file($script))

echo "Ошибка вывода файла";

} else {

echo "<H1>ERROR: Показываются только листинги PHP файлов </H1>";

}

}

echo "<HR>Распечатано: ".date("Y/M/d H:i:s",time());

?>

</BODY>

</HTML>


highlight_string


Выделение строки цветом.

Синтаксис:

void highlight_string(string str);

Функция действует подобно highlight_file(), но использует не содержимое файла, а указанной строки.


show_source


Синоним функции highlight_file.

Синтаксис:

boolean show_source(string str);


pack


Пакетирование данных в двоичную строку.

Синтаксис:

string pack(string format [,mixed $args, ...]);

Функция pack() упаковывает заданные аргументы в бинарную строку, которая затем и возвращается. Формат параметров, а также их количество, задается при помощи строки $format, которая представляет собой набор однобуквенных спецификаторов форматирования - наподобие тех, которые указываются в sprintf(), но только без знака %. После каждого спецификатора может стоять число, которое отмечает, сколько информации будет обработано данным спецификатором. А именно, для форматов a,A,h и H число задает, какое количество символов будет помещено в бинарную строку из тех, что находится в очередном параметре-строке при вызове функции (то есть, определяет размер поля для вывода строки). В случае @ оно определяет абсолютную позицию, в которую будут помещены следующие данные. Для всех остальных спецификаторов следующие за ними числа задают количество аргументов, на которые распространяется действие данного формата. Вместо числа можно указать *, в этом случае подразумевается, что спецификатор действует на все оставшиеся данные.

Вот полный список спецификаторов формата:

// Целое, целое, все остальное - сиволы

$bindata = pack("nvc*", 0x1234, 0x5678, 65, 66);


После выполнения приведенного кода в строке $bindata будет содержаться 6 байтов в такой последовательности:0x12, 0x34, 0x78, 0x56, 0x41, 0x42 (в шестнадцатиричной системе счисления).


unpack


Распаковывает данные из двоичной строки.

Синтаксис:

array unpack(string format, string data);

Распаковывает данные из двоичной строки в массив согласно формату. Возвращает массив, содержащий распакованные элементы.

$array = unpack("c2chars/nint", $binarydata);


Возникающий в результате массив будет содержать "chars1", "chars2" и "int".


iptcparse


Анализирует двоичный IPTC блок на одиночные тэги.

Синтаксис:

array iptcparse(string iptcblock);

Эта функция анализирует двоичный блок IPTC на одиночные теги. Возвращает массив, использующий tagmarker как индекс и значение как значение. Возвращает false при ошибке или если никаких IPTC данных не было найдено.


leak


Имитация утечки памяти.

Синтаксис:

void leak(int bytes);

leak() отсекает определенный объем памяти.

Это полезно при отладке диспетчера памяти, который автоматически очищает "отсеченную" память при выполнении запроса.

Размер блока памяти указывается в байтах аргументом bytes.


serialize


Генерирует удобохраниемое представление значения.

Синтаксис:

string serialize(mixed value);

serialize() возвращает строку состоящую из потока байтов при представлении значения value, которое может где-нибудь сохранено.

Это полезно для сохранения или передачи значений PHP без потери их типа и структуры.

Пример:

//$session_data содержит многомерный массив

с информацией о сессии

//текущего пользователя. Мы используем

serialize() для сохранения

//этого в базе данных в конце запроса.


$conn = odbc_connect("webdb", "php", "chicken");

$stmt = odbc_prepare($conn,

"UPDATE sessions SET data = ? WHERE id = ?");

$sqldata = array(serialize($session_data),

$PHP_AUTH_USER);

if (!odbc_execute($stmt, &$sqldata)) {

$stmt = odbc_prepare($conn,

INSERT INTO sessions (id, data) VALUES(?, ?)");

if (!odbc_execute($stmt, &$sqldata)) {

/* Что-то сделано неправильно. */

}

}



unserialize


Создает PHP значение из сохраненного представления.

Синтаксис:

mixed unserialize(string str);

unserialize() берет одно сохраненное значение и преобразует обратно в PHP значение. Возвращает преобразованное значение, и может иметь тип: integer, double, string, array или object. Если был преобразован object, то методы не востановятся.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*