Функции определения и установки параметров интерпретатора РНР

 

 

error Log

Отослать сообщение об ошибке

Описание

int error_log (string message, int message_type, string [ destination ] , string [ extra_headers ] ) ;

 

Посылает сообщение об ошибке на сервер или в файл. Первый параметр, message, определяет сообщение об ошибке, которое должно быть отослано. Второй параметр, message_type, определяет способ пе­редачи сообщения:

 

Message = 0  посылает в системный лог РНР, используя механизм

системной записи операционной системы или в файл;

Message = 1  посылается по электронной почте, адрес определен в

destination. Только для этого типа сообщений исполь­зуется параметр extra_headers. Этот тип использует ту же внутреннюю функцию, что и Мail)

message = 2   посылается через соединение РНР отладки. Эта оп­ция доступна только тогда, когда включена удаленная отладка ошибок, destination определяет имя машины или IP-адрес и номер порта сокета, получающего от­ладочную информацию;

message = 3   добавляется к файлу, определенному в destination.

 

Пример с функицей error _Jog():

// Послать сообщение в системный лог, если не получено соединение с базой данных

if (!Ora_Logon($username, $password)) {

error_log("Oracle database not available!", 0);

}

 

// Информировать администратора по почте об ошибке выделения F00

 if (!($foo = allocate_new_foo()) {

error_log("Big trouble, we're all out of FOOs!", 1,

 "operator@rnydomain.com");

}

 

// другие способы вызова error_log() :

error_log("You messed up!", 2, "127.0.0.1:7000");

error_log("You messed up!", 2, "loghost");

error_log("You messed up!", 3, "/var/tmp/my-errors . log" ) ;

 

Error reporting

Устанавливает уровень сообщений об ошибках РНР

 

Описание

int error_reporting(int [ level ]);

 

Устанавливает уровень сообщений об ошибках РНР и возвращает старый уровень. Уровень сообщений об ошибках задается битовой маской и использует следующие значения.

assert

Проверяет выражение, является ли его значение равным false

 

Описание

int assert (stringlbool assertion)

 

assert-options

Устанавливает различяные флаги для проверки

 

Описание

mixed assert_options (int what. [, mixed value]) См. табл. C.4.

extension loaded

Проверяет, загружено ли расширение

 

getenv        

Возвращает значение внешней переменной

 

get_cfg_var

Получает значения конфигурации РНР

 

Описание

string get_cfg_var (string varname)

 

get current user

Получает владельца текущего скрипта

 

Описание

string get current_user (void)

 

См. также getmyuid(), getmypid(), getmyinode(), getlastmod().

 

get magic quotes gpc     

Получает текущие параметры magic quotes gpc

 

Описание

long get_magic_quotes_gpc (void)

 

См. также get_magic_quotes__runtime(), set_magic_quotes_runtime().

 

get_magic_quotes_runtime

Получает текущую конфигурацию magic_quotes_runtime

 

Описание

long get_magic_quotes_runtime (void)

 

См. также get_magic_quotes_gpc(), set_magic_quotes_runtime().

 

getlastmod

Получает время последней модификации страницы

 

Описание

int getlastmod (void)

 

См. также date(), getmyuid(), get_current_user(), getmyinode(), getmypid().

 

getmyinode

Получает inode текущего скрипта

 

Описание

int getmyinode (void)

 

См. также getmyuid(), get_current_user(), getmypid(), getlastmod().

 

getmypid

Получает идентификатор процесса PHP

 

Описание

int getmypid (void)

 

См. также getmyuid(), get_current_user(), getmyinode(), getlastmod().

 

getmyuid

Получает идентификатор UID

 

Описание

int getmyuid (void)

 

См. также getmypid(), get_current_user(), getmyinode(), getlastmodf()

 

get гusage

Информация об использовании текущего ресурса

 

Описание

array getrusage ([int who])

 

Пример:

$dat = getrusage();

echo $dat["ru_nswap"];           # number of swaps

echo $dat["ru_majfit"]; # number of page faults

echo $dat [ "ru_ utime . tv_sec" ] ; # user time used (seconds)

echo $dat["ru_utime.tv_usec"]; # user time used (microseconds)

 

phpcredits

Информация о PHP

 

Описание

void phpcredits (int flag) См. табл. С. 5.

phpinfo

Большая коллекция информации о РНР

 

Описание

int phpinfo (void)

 

См. также phpversion(), phpcredits(), php_logo_guid()

 

phpversion

Текущая версия PHP

 

Описание

string phpversion (void)

 

Пример:

// prints e.g. 'Current PHP version: 3.0rel-dev'

echo "Current PHP version: ".phpversion() ;

 

См. рис. С. 12.

 

php ogo guid

Получает логотип-идентификатор (см. рис. С. 13)

 

Описание

string php logo guid (void)

 

php_sapi_name

Получает тип интерфейса (см. рис. С. 14)

 

Описание

string php_sapi_name (void)

 

Пример:

$inter_type = php_sapi_name();

if ($inter_type == "cgi") print "You are usj.ng CGI PHP\n"; else print "You are not using CGI PHP\n";

putenv

Задает значение переменной окружения

 

Описание

void putenv (string setting)

 

Пример:

putenv ("UNIQID=$uniqid" ) ;

 

set_magic_quotes_runtime

Устанавливает конфигурацию magic_quotes_runtime

 

 Описание

long set_magic_quotes_runtime (int new setting)

 

См. также. get_magic_quotes_gpc(), get magic_quotes_runtime().

 

set time imit

Ограничивает максимальное время выполнения скрипта

 

Описание

void set_time_limit (int seconds)

 

zend logo guid

Получить идентификатор zend-logo

 

Описание

string zend_logo_guid (void) См. рис С. 15.

get loaded extensions

Возвращает массив с именами всех загруженных и скомпилированных модулей

 

Описание

array get_loaded_extensions (void)

 

Пример:

print_r (get_loaded_extensions());

 

Результат работы будет примерно таким (см. рис. С. 16):

 

Array

(

     

[0]

=>

xml

[1]

= >

wddx

[2]

=>

standard

[3]

=>

session

[4]

=>

posix

[5]

=>

pgsql

[6]

=>

pcre

 

[7]=> gd

[8]=> ftp

[9]=> db

[10]=> Calendar

[11]=> bcmath

)

 

См. также get_extension_funcs().

get_extension_funcs

Оозвращает массив с именами функций модуля

 

Описание

array get_extension_funcs (string module_name)

 

Пример:

print_r (get_extension_funcs ("xml"));

print_r (get_extension_funcs ("gd"));

 

Результат работы см. на рис. С. 17.

 

get_required_files

Возвращает массив, содержащий список имен файлов, требуемых для выполнения скрипта

 

Описание

array get_required_ files (void)

 

Пример:

<?php

require_once ("local.php");

require_once ("../inc/global.php");

for ($i = 1; $i<5; $i + + ) include "util".$i."php" ;

echo "Required_once files\n";

print_r (get_required_files());

echo "Included_once files\n";

print_r (get_included_files() ) ; ?>        t

 

Результат работы будет примерно таким:

Required_once files

Array

(

[local] => local.php

[../inc/global] => /full/path/to/inc/global.php

)

 

Included_once files

Array

(

[utill] => utill.php

[util2] => util2.php

[util3] => util3.php

[util4] => util4.php

)

 

get nduded files

Возвращает список имен (массив) файлов, включенных в скрипт

 

Описание

array get_included_files (void)

 

См. также require_once(), include_once(), get_required_files().

Функции выполнения системных программ

 

escapeshellcmd

Убирает метасимволы shell

 

Описание

string escapeshellcmd(string command);

 

EscapeShellCmd() убирает любые символы в строке, которые могут быть использованы в командном интерпретаторе как произвольные команды. Эту функцию нужно использовать для того, чтобы убедиться, что все данные введены правильно. Эту функцию лучше всего встав­лять в функции ехес() или system(). Стандартное использование этой функции выглядит так:

system(EscapeShellCmd($cmd))

 

exec 

Запуск внешней программы

 

Описание

string exec(string command, string [ array ], int [ return_var ]);

 

Exec() запускает программу из строки command, весь стандартный вывод отключен. Возвращает последнюю строку результата выполне­ния программы. Если вы хотите запустить команду и использовать все данные непосредственно без всякого вмешательства других программ, то используйте функцию PassThru().

Если параметр array установлен, то указанный массив будет запол­нен выводом из программы. Помните, если массив уже содержит данные, то exec() добавляет свои данные. Если вы не хотите, чтобы функция добавляла данные, вызывайте unset() для массива перед ис­пользованием ехес().

Если параметр return_var установлен наряду с параметром array, то в него записывается результат выполнения команды.

Обратите внимание, что если ваша функция будет использовать данные из ввода пользователей, то надо использовать EscapeShellCmd() для того, чтобы пользователи не смогли запустить произвольные про­граммы.

 

См. также system(), PassThru(), popen(), EscapeShellCmd().

system

Запуск внешней программы с выводом результата

 

Описание

string system(string command, int [ return_var ]);

 

System() такая же, как и С-версия этой функции для запуска command и вывода результата. Если используется второй параметр, то в него записывается результат выполнения команды.

Обратите внимание, что если ваша функция будет использовать данные из ввода пользователей, то надо использовать Escape Shell Cmd() для того, чтобы пользователи не смогли запустить произвольные про­граммы.

Вызов System() также пробует автоматически вставить в буфер вывода web-сервера после каждой строки вывода, если РНР запущен как модель сервера.

Если вы хотите запустить команду и использовать все данные непосредственно без всякого вмешательства других программ, то ис­пользуйте функцию PassThru().

См. также ехес(), рореn().

 

passthru     

Запускает внешнюю программу и выводит данные напрямую

 

Описание

string passthru(string command, int [ return_var ]);

 

Функция passthru() похожа на функцию Exec() для запуска command. Если параметр return_var установлен, то результат Unix-команды поме­щается здесь. Эта функция должна использоваться вместо Ехес() или System() тогда, когда вывод из Unix-команды является двоичными данными, которые должны быть переданы непосредственно обратно в окно npocMOTpa(browser). Это можно использовать, например, для за­пуска утилиты pbmplus для вывода непосредственно потока изображе­ния. Установка типа image/gif и вызов программы pbmplus, чтобы вывести gif-рисунок, вы можете создавать PHP-скрипты, которые вы­водят изображения непосредственно.

 

См. также exec(), fpassthru().

 

Функции для работы с сессиями

 

Поддержка сессий в РНР включает в себя набор средств, позволя­ющих работать с набором последовательных обращений к документу (или нескольким документам). Эти средства позволяют организовать работу web-сайта более гибким образом, увеличивая его привлекатель­ность и возможность обработки поступающих запросов.

Пользователь, обращающийся на web-страницу, получает уникаль­ный идентификатор, называемый идентификатором сессии. Этот иден­тификатор может храниться либо в виде cookie на строке пользователя, он может передаваться серверу в составе URL.

Поддержка сессий в РНР позволяет осуществить регистрацию про­извольного числа переменных, объявив их глобальными переменными для текущей сессии. Эти переменные будут сохранены, их значения можно будет использовать при повторном обращении к сайту. Когда посетитель странички входит на наш сайт, РНР автоматически прове­ряет (но только в том случае, если директива session.auto_start имеет значение 1) был ли вместе с запросом послан идентификатор сессии. Если идентификатор был послан, то РНР восстанавливает окружение, связанное с данным идентификатором. Проверка наличия переданного посетителем может быть осуществлена вручную при помощи функции session_register() или session_start().

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

Директивы track_vars и register_globals влияют на то, как глобаль­ные переменные сессий будут храниться и восстанавливаться.

Если включена функция track_vars, но выключена функция register_globals, то в качестве глобальных переменных сессии могут быть зарегистрированы элементы ассоциативного массива $HTTP_SESSION_VARS. Восстановленные значения в последующих обращениях с тем же идентификатором сессии могут быть доступны только в виде элементов массива $HTTP_SESSION_VARS.

Пример регистрации глобальных переменных сессии с включенной директивой track_vars.

 

<?php

session_register("count");

$HTTP_ SESSION_VARS["count"]++;

?>

 

Если директива register_globals будет включена, то все глобальные переменные скрипта могут быть зарегистрированы как глобальные переменные сессии, и при повторных обращениях с тем же идентифи­катором сессии, как и тот, когда переменные были объявлены пере­менными сессии, эти переменные будут доступны под теми же имена­ми, под которыми они существовали в предыдущем сеансе.

 

Пример регистрации переменных с включенной директивой register_globals:

<?php

session_register("count");

$count++; ?>

 

Если включены обе директивы (и track_vars, и register_globals), то глобальные переменные сессии и элементы массива $HTTP_SESSION_VARS будут ссылаться на одни и те же значения.

 

Существует два способа передачи идентификатора сессий:

cookies;

параметр URL.

 

Оптимальный вариант — использование cookies. Однако, не каж­дый клиент сконфигурирован таким образом, что в нем включена поддержка cookies, поэтому при работе с сессиями не cookies не следу­ет полагаться полностью.

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

 

Пример подсчета посещений страницы конкретным пользователем:

<?php

session_register ("count");

$count++;

?>

Добрый день! Вы посетили эту страницу <? echo $count; ?> раз.<р>

<php?

# Далее мы используем инструкцию <?=SID?> на тот случай,

# если пользователь не поддерживает cookies

?>

Чтобы продолжить, перейдите на следующую страницу <А HREF="nextpage.php?<?=SID?>">no этой ссылке</А>

 

Обратите внимание (см. рис. С. 18), как выглядит ссылка на страни­цу (в строке состояния в нижней чети окна).

После перехода по ссылке весь идентификатор сессии станет ви­дим в строке адреса (рис. С. 19).

 

Система поддержки сессий предоставляет ряд возможностей для конфигурирования ряда опций. Вот некоторые из них. Параметр session.save_handler определяет имя средства обработки, ис­пользуемого для сохранения и получения данных, связанных с сессией. По умолчанию files.

-         Параметр session.savejpath определяет аргументы, передаваемые сред­ству сохранения параметров сессии, это может быть путь к файлам, хранящим данные сессий, по умолчанию /tmp.

-         Параметр session.паше задает имя сессии, используемой как имя cookie. По умолчанию PHPSESSID.

-         Параметр session.auto_start указывает на то, будет ли модуль, поддержи­вающий сессии, включаться автоматически, по умолчанию 0 (не будет). Параметр session.cookie_lifetime задает время жизни cookies, посылае­мых броузеру, в секундах. По умолчанию 0.

-         Параметр session.serialize_handler задает имя средства обработки, осу­ществляющего сериализацию и извлечение сохраненных данных. Под­держивается php (внутренний формат) и WDDX. По умолчанию php. Параметр session.use_cookies задает состояние, определяющее то, будет ли модуль использовать cookie для хранения идентификатора сессии на стороне клиента. По умолчанию 1.

 

session_start                          инициализирует работу с данными сессии;

session_destroy                     разрушает все данные, связанные с сессией;

session_name                                    получает (или задает) имя текущей сессии:

session_module_name          получает (иди задает) модуль для текущей

сессии;

session_save_path                получает (или задает) путь для сохранения

данных текущей сессии; sessionjd   получает (или задает) идентификатор теку­щей сесии;

sessionjregister                     регистрирует одну или несколько перемен­ных как переменные сессии;

session_unregister                снимает регистрацию переменной сессии

session_unset                                    удаляет все переменные сессии;

session_is_registered           определяет, зарегистрирована ли перемен­ная как переменая сессии; session_get_cookie_params получает параметры cookie для сессии;

session_set_cookie_params задает параметр cookie для сессии;

session_decode                     декодирует данные сессии из строки;

session_encode                     кодирует данные сессии в строку.

 

Функции для работы со строками

 

Эти функции используются для манипулирования строками.

 

AddSlashes          

Добавляет к строке символ обратной черты

 

Описание

string addslashes(string str);

 

Возвращает строку с обратной чертой (/) перед символами, кото­рые должны быть выделены в запросах к базам данных и т.п. Эти символы: ('), двойные кавычки («), (\) и NUL (нулевой байт).

См. также stripslashes(), htmlspecialchars(), quotemeta().

 

Chop 

Удаляет повторяющиеся пробелы

 

Описание

string chop(string str);

 

Возвращает строку без повторяющихся пробелов.

Пример с функцей chop():

$trimmed = Chop($line);

 

См. также trim().

 

Chr   

Возвращает специальный символ

 

Описание

string chr(int ascii);

 

Возвращает односимвольную строку, содержащую символ, опреде­ленный кодом ascii.

 

Пример chr():

$str.= chr (27); /* добавляет символ ESC в конец $str */

$str = sprintf("The string ends in escape: %c", 27);

 

Эта функция дополняет функцию ord().

См. также sprint() с форматирующей строкой %с.

 

chunk_split

Разбивает строку на мелкие части

 

Описание

string chunk_split(string string, int [chunklen], string [end] );

 

Может быть использована для разбития строки на части, напри­мер, при конвертировании результата функции base64_encode в формат RFC 2045. Функция вставляет в каждый фрагмент (по умолчанию до 76) символ конца строки (по умолчанию «\r\n»). Функция возвращает новую строку, оставляя исходную без изменений.

 

Пример chr_replace():

# format $data using RFC 2045 semantics

$new_string = chunk_split(base64_encode($data));

 

Эта функция выполняется значительно быстрее, чем ereg_replace().

 

convert_суг_string

Переводит из одной русской кодовой таблицы в другую

 

Описание

string convert_cyr_string(string str, string from, string to);

 

Эта функция переводит указанную строку из одной русской кодо­вой таблицы в другую. Аргументы from и to определяют исходную и конечную кодовые таблицы 1. Поддерживаемые типы кодировок:

 k koi8-r;

w windows-1251;

i - iso8859-5;

a x-cp866;

d x-cp866;

 m x-mac-cyrillic.

 

crypt

Шифрует строку методом DES

 

Описание

string crypt(string str, string [salt]);

 

Функция crypt() шифрует строку, используя стандартный метод шифрации UNIX DES. Аргументы являются строками: строка, кото­рую нужно зашифровать, и дополнительная 2-символная строка salt, на которой будет основываться шифрование. См. документацию UNIX

для дополнительной информации. Если аргумент salt отсутствует, то он будет генерирован случайным образом.

Некоторые операционные системы поддерживают больше одного типа шифрования. В действительности, иногда метод шифрования DES заменяется основанными на MD5 алгоритмами. Тип шифрования устанавливается аргументом salt. Во время установки РНР определяет возможности функций шифрации и будет поддерживать аргумент salt для других методов шифрации. Если параметр salt не установлен, то РНР автоматически сгенерирует стандартный 2-символный ключ DES, если же в системе по умолчанию установлен тип шифрации MD5, то будет сгенерирован MD5-совместимый ключ.

 

echo

Выводит текстовую строку

 

Описание

echo(string argl, string [argn]...);

 

Выводит все параметры. Echo() в действительности не является функцией (это языковая конструкция), поэтому не обязательно ис­пользовать круглые скобки.

 

Пример echo:

echo "Hello World";

 

См. также print() printf() flush().

 

explode

Разбивает строку на меньшие строки

 

Описание

array explode(string separator, string string);

 

Возвращает массив строк, содержащий элементы, разделенные стро­кой separator.

 

Пример explode():

$pizza = "slicel slice2 slice3 slice4 slice5 slice6";

$pieces = explode(" ", $pizza);

 

См. также split(), implode().

 

flush

Освобождает буферы вывода

 

Описание

void flush(void);

 

Освобождает буферы вывода РНР и все остальные, использумые РНР (CGI, web-сарвер и т.д.). Это эффективная возможность вывести все накопленное в буферах в броузер пользователя.

 

getjnetajtags

Извлекает все содержимое атрибутов ярлыка meta из файла и возвращает в массиве

 

Описание

array get_meta_tags(string filename, int [use_include_path]);

 

Открывает файл filename и обрабатывает его строка за строкой и извлекает ярлыки <rneta>.

 

Пример ярлыков Meta:

<meta name="author" content="name">

<meta name="tags" content="php3 documentation'^

</head> <!— parsing stops here —>

 

Значение свойства name становится ключем, значение свойства content становится значением возвращаемого массива, поэтому можно легко использовать стандартные функции для его обработки или дос­тупа к отдельным элементам. Специальные символы в значении свой­ства заменяются символом '_', остальные переводятся в нижний ре­гистр.

Установка параметра use_include_path в 1 приведет к тому, что РНРЗ будет пытаться открыть файл по стандартному include пути.

 

htmlspecialchars

Переводит специальные символы в коды HTML

 

Описание

string htmlspecialchars(string string);

 

Определенные символы имеют особое значение в HTML и должны быть заменены кодами HTML, если они таковые имеют. Эта функция возвращает строки с произведенными такими изменениями.

Эта функция полезна для очистки полученного от пользователя текста от разметки HTML (доски сообщений, гостевые книги и т.п.).

В настоящее время осуществляются следующие замены:

"&" (амперсанд) становится "&ашр;"

"«" (двойные кавычки) становится "&quot;"

"<" (знак меньше) становится "&lt;"

">" (знак больше) становится "&gt;"

 

Следует отметить, что эта функция не заменяет ничего, кроме символов, указанных выше. Для полной обработки см. функцию htmlentities().

См. также htmlentities(), nl2br().

 

htmlentities

Переводит все возможные символы в коды HTML

 

Описание

string htmlentities(string string);

 

Эта функция идентична htmlspecialchars(), кроме того, что все сим­волы, которые имеют соответствующий код HTML заменяются на этот HTML-код. Применяется кодовая таблица ISO-8859-1.

 

См. также htmlspecialchars(), nl2br().

 

implode

Объединяет массив элементов в строку

 

Описание

string implode(array pieces, string glue);

 

Возвращает строку, содержащую совокупность всех элементов мас­сива, в том же порядке, со строкой glue — между каждым элементом.

 

Пример implode():

$colon_separated = implode ($array, ":"); См. также explode(), join(), split().

 

join

Присоединяет элементы массива в строку

 

Описание

string join(array pieces, string glue);

 

Joui() является псевдонимом функции implode(), и полностью ей идентична.

 

Itrim

Удаляет пробелы из начала строки

 

Описание

string ltrim(string str);

 

Эта функция удаляет пробелы из начала строки и возвращает обрезанную строку.

См. также chop(), trim().

 

md5

Вычисляет значение md5 для строки

 

Описание

string md5(string str);

 

Вычисляет значение MD5 для строки str, используя алгоритм RSA. Data Security, Inc. MD5 Message-Digest.

 

n!2br  

Переводит символы новой строки в ярлык HTML разрыва строки

 

Описание

string nl2br(string string);

 

Возвращает string с '<BR>' вставляемыми перед каждой новой строкой.

 

См. также htmlspecialchars(), htmlentities().

 

Ord    

Возвращает ASCII-значение символа

 

Описание

int ord(string string);

 

Возвращает ASCII-значение первого символа строки string. Эта функция дополняет функцию chr().

 

Пример ord():

if (ord($str) == 10) {

echo("The first character of \$str is a line feed.\n");

}

См. также chr().

 

parse_str

Анализирует строку

 

Описание

void parse_str(string str);

 

Анализирует строку str, как если бы она была URL-строкой запро­са, и устанавливает переменные среды.

 

Пример parse str():

$str = "first=value&second[]=this+works&second[]=another"; parse_str($str);

echo $first; /* prints "value" */

echo $second[0]; /* prints "this works" */

echo $second[l]; /* prints "another" */

 

print

Выводит строку

 

Описание

print(string arg);

 

Выводит строку arg.

См. также echo() printfO, flush().

printf

Выводит форматированную строку

 

Описание

int printf(string format, mixed [args]...);

 

Осуществляет вывод в соответствии с параметром format, который описан в описании функции sprintf().

 

См. также print(), sprintf(), flush().

 

quoted printable_decode

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

 

 Описание

string quoted_printable__decode (string str);

 

Эта функция возвращает 8-битную строку, соответствующую деко­дированной строке в кавычках. Эта функция аналогична imap_qprint(), за исключением того, что она не требует IMAP-модуль для работы.

 

QuoteMeta

Выделяет meta-символы

 

Описание

int quotemeta(string str);

 

Возвращает обработанную str с символами (\) перед каждым из следующих символов:

. \\ + W ? I Л ] ( $ )

 

См. также addslashes(), htmlentities(), htmlspecialchars(), nl2br(), stripslashes().

 

rawurldecode

Декодирует URL-кодированную строку

 

Описание

string rawurldecode(string str);

 

Возвращает строку, в которой последовательность из символа про­цента (%) с последующих двух шестнадцатиричных цифр заменяется соответствующим буквенным символом. Например, строка

 

foo%20bar%4 0baz

будет заменена на

too bar@baz

 

См. также rawurlencode().

 

rawurlencode

URL-кодирует строку в соответствии с RFC1738

 

Описание

string rawurlencode{string str);

 

Возвращает строку, в которой все небуквенно-цифровые символы, кроме заменяются на знак (%) с последующими двумя шестнадца­тиричными цифрами. Это кодирование, описанное в RFC 1738, приме­няется для защиты символов от интерпритации их как особых раздели­телей URL, и для защиты URL от искажения системами передачи данных с переводом символов (как некоторые e-mail системы). На­пример, если вы хотите включить пароль в ftp URL.

 

Пример rawurlencode():

echo ' <А HREF="ftp://user:', rawurlencode ('foo @ + %/'),

'@ftp.my.com/x.txt">';

 

Или если требуется передать информацию в качестве части URL.

 

Пример rawurlencode():

echo ' <A HREF="http://x.com/department_list_script/',

rawurlencode ('sales и marketing/Miami'), '">'•,

 

См. также rawurldecode().

setlocale

Устанавливает локальную информацию

 

Описание

string setlocale(string category, string locale);

 

Category является строкой, определяющей категорию функций, изме­няемую строкой locale:

LC_ALL                    для всех нижеследующих строк;

LC_COLLATE           для сравнения строк;

LC_CTYPE                для классификации и перевода символов, на­пример: strtoupper();

LC_MONETARY      для localeconv();

LC_NUMERIC          для десятичного разделителя;

LC_TIME                   для даты и времени, форматируемых функцией

strftime().

 

Если locale является пустой строкой «», то локальные имена будут установлены из значений переменных окружения с теми же именами, как у вышеописанных категорий, или из «LANG». Если locale равна нулю или «0»? то местные установки не изменяются, возвращаются текущие установки.

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

 

soundex

Вычисляет soundex-ключ для строки

 

Описание

string soundex(string str);

 

Вычисляет soundex ключ для str.

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

 

Эта функция описана Дональдом Кнутом в книге «The Art Of Computer Programming, vol. 3: Sorting и Searching», Addison-Wesley (1973), pp. 391-392.

 

Пример Soundex:

soundex("Euler") == soundex("Ellery") == 'E460';

soundex("Gauss") == soundex("Ghosh") == 'G200';

soundex("Knuth") == soundex("Kant" ) == 'H416';

soundex("Lloyd") == soundex("Ladd") == 'L300';

soundex ( "Lukasiewicz" ) == soundex ( "Lissajous") ==' 'L222';

 

sprintf

Возвращает форматированную строку

 

Описание

sprintf (string format, mixed [args].,..);

 

Возвращает строку, обрабатываемую в соответствии с форматирую­щей строкой format.

Форматирующая строка, содержащая ноль или более директив: обычные символы (кроме %), которые копируются прямо в результат, и описания изменений, каждое из которых выполняет определенные действия. Это применительно и к sprintf() и к printf(). Каждое описание изменений состоит из следующих элементов.

Дополнительный описатель заполнения, который говорит, какие символы будут использоваться для заполнения результата до правильно­го размера строки. Это могут быть пробелы или 0 (символ нуля). По умолчанию заполняется пробелами. Альтернативный символ заполне­ния может быть определен одинарной кавычкой ('). См. примеры ниже.

Дополнительный описатель выравнивания, который говорит, что результат должен быть выравнен по левому или по правому краю. По умолчанию выравнивание происходит по правому краю, символ — приведет к вырвниванию по левому краю.

Дополнительный описатель ширины, который говорит, с каким ко­личеством символов (минимум) может производиться данная замена.

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

Описатель типа, который говорит о том, как тип данных аргумента должен трактоваться. Возможные типы: % — символ процента. Аргу­мент не требуется.

b          аргумент трактуется как integer и представляется как двоичное

число;

с          аргумент трактуется как integer и представляется как символ с

ASCII-значением;

d          аргумент трактуется как integer и представляется как десятич­ное число;

f           аргумент трактуется как double и представляется как число с

плавающей точкой;

о          аргумент трактуется как integer и представляется как восьми­ричное число;

s          аргумент трактуется и представляется как строка;

х          аргумент трактуется как integer и представляется как шестнад­цатиричное число (с буквами в нижнем регистре);

X         аргумент трактуется как integer и представляется как шестнад­цатиричное число (с буквами в верхнем регистре).

 

См. также printf(), number_format().

Пример sprint() числа с нулями:

$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);

 

Пример sprintf: форматирование денежной единицы:

$moneyl « 68.75;

$money2 = 54.35;

$raoney = $moneyl + $money2;

// echo $money will output "123.1";

$ formatted = sprintf ("%01.2f", $money);

// echo $formatted will output "123.10"            /

 

strchr         

Находит первое появление символа

 

Описание

string strchr(string haystack, string needle);

 

Эта функция является псевдонимом для функции strstr(), и полно­стью ей идентична.

 

strcmp        

Двоичное сравнение строк

 

Описание

int strcmp(string strl, string str2);

 

Возвращает < 0 если str 1 меньше чем str2, > 0 если strl больше чем str2, и 0 если они равны.

Следует отметить, что это сравнение чувствительно к регистру.

 

См. также ereg(), substr(), strstr().

strcspn

Находит длину начального сегмента, не совпадающего с маской

 

Описание

int strcspn(string strl, string str2);

 

Возвращает длину начального сегмента strl, который не содержит любые символы в str2.

 

См. также strspn().

 

StripSlashes

Удаляет символы \ из строки

 

Описание

string stripslashes(string str);

 

Возвращает строку с вырезанными символами \. (\' заменяется на ' и так далее). Двойные \\ заменяются на \.

 

См. также addslashes().

strlen

Возвращает длину строки

 

Описание

int strlen(string str);

 

Возвращает длину строки string.

 

strrpos

Находит позицию последнего появления символа в строке

 

Описание

int strrpos(string haystack, char needle);

 

Возвращает номер позиции последнего появления символа needle в строке haystack. Следует отметить, что needle в этом случае может быть только единственным символом. Если в качестве параметра needle указывается строка, то только первый символ будет использован.

Если needle не найден, то возвращается false.

Если параметр needle не является строкой, то он переводится в десятичное число и рассматривается как числовое значение символа.

 

См. также strpos(), strrchr(), substr(), strstr().

 

strpos        

Находит позицию первого появления строки

 

Описание

int strpos(string haystack, string needle, int [offset]);

 

Возвращает номер позиции первого появления строки needle в строке haystack. В отличии от strrpos(), эта функция может рассматри­вать целую строку в качестве параметра needle и целая строка будет использоваться.

Если параметр needle не найден, то возвращается false.

Если параметр needle не является строкой, то он переводится в целое число и рассматривается как числовое значение символа.

Дополнительный параметр offset позволяет вам определять, с како­го символа в строке haystack начинать поиск. Позиция возвращается все равно относительно начала строки haystack.

 

См. также strrpos(), strrchr(), substr(), strstr().

 

strrchr

Находит последнее появление символа в строке

 

Описание

string strrchr(string haystack, string needle);

 

Эта функция возвращает позицию haystack, с которой начинается последнее появление needle и продолжается до конца haystack.

Возвращает false, если needle не найдена.

Если параметр needle содержит более чем один символ, то исполь­зуется первый символ.

Если параметр needle не является строкой, то он переводится в целое число и рассматривается как числовое значение символа.

 

Пример strrchr ():

 

// получение последней директории в $РАТН

$di г = substr ( strrchr ( $РАТН, ":" ), 1 );

// получение всего после последней новой строки

$text = "Line l\nLine 2\nLine 3";

$last = substr( strrchr( $text, 10 ), ;

 

 См. также substr(), strstr().

 

strrev

Переворачивает строку

 

Описание

string strrev(string string);

 

Возвращает перевернутую строку string.

 

strspn

Находит длину начального сегмента, отвечающего маске

 

Описание

int strspn(string strl, string str2);

 

Возвращает длину начального сегмента строки strl, который содер­жит все символы из str2.

 

См. также strcspn().

strstr

Находит первое появление строки

 

Описание

string strstr(string haystack, string needle);

 

Возвращает все haystack с первого появления строки needle и до конца.

Если параметр needle не найден, то возвращается false. Если параметр needle не является строкой, то он переводится в целое число и рассматривается как числовое значение символа.

 

См. также strrchr(), substr(), ereg().

 

strtok

Разбивает строку

 

Описание

string strtok(string argl, string arg2;

 

Strtok() используется для разбития строки. Это значит, что если вы имеете строку типа «This is an example string», то вы можете разбить эту строку на отдельные слова, используя пробел в качестве разделителя.

 

Пример strtok():

$string = "This is an example string";

$tok = strtok($string," ");

while($tok) {

echo "Word=$tok<br>";

$tok = strtok(" ");

}

 

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

Также будьте внимательны к разделителям равным «0». Это может вызвать ошибку в определенных выражених.

 

См. также split(), explode().

 

strtolower

Переводит строку в нижний регистр

 

Описание

string strtolower(string str);

 

Возвращает сроку string со всехми буквенными символами, переве­денными в нижний регистр. Буквенные символы определяются теку­щими локальными установками.

 

См. также strtoupper(), ucfirst().

 

strtoupper  

Переводит строку в верхний регистр

 

Описание

string strtoupper(string string);

 

Возвращает строку string со всеми буквенными символами, переве­денными в верхний регистр. Следует отметить, что буквенные символы определяются текущими локальными установками.

 

См. также strtolower(), ucfirst().

 

str_jeplace

Заменяет все вхождения строки на указанную строку

 

Описание

string str_replace(string needle, string str, string haystack);

 

Эта функция заменяет все вхождения строки needle в строке haystack на указанную строку str. Если вам не требуются причудливые правила замены, то вам следует всегда использовать эту функцию вместо eregreplace().

 

Пример str_replace():

$bodytag = str_replace("%body%", "black", "cbody text=%body%>" ) ;

 См. также ereg_replace().

 

strtr           

Переводит определенные символы

 

Описание

string strtr(string str, string from, string to);

 

Эта функция обрабатывает строку str, заменяя все появления каж­дого символа из строки from на соответствующие символы в строке to, и возвращает результат.

Если строки from и to имеют различную длину, то дополнительные символы более длинной, из строк игнорируются.

 

Пример strtr():

$addr = strtr($addr, "дец", "xyz");

См. также ereg replace().

 

substr

Возвращает часть строки

 

Описание

string substr(string string, int start, int [length]);

 

Эта функция возвращает часть строки string, определяемую пара­метрами start (начало) и length (длина).

Если параметр start положительный, то возвращаемая строка будет начинаться с start символа строки string.

 

Примеру:

$rest = substr("abcdef", 1); // возвращает "bcdef"

$rest = substr("abcdef", 1, 3); // возвращает "bed"

 

Если параметр start отрицательный, то возвращаемая строка будет начинаться с start символа от конца crpoKHstring.

 

Примеры:

$rest = substr ("abcdef",          -1);      //          возвращает "f"

$rest = substr("abcdef",           -2);      //          возвращает "ef"

$rest = substr ("abcdef",          -3, 1);  //          возвращает "d"

 

Если параметр length указан и он положительный, то возвращаемая строка закончится за length символов .от начала start. Это приведет к строке с отрицательной длиной (потому что начало будет за концом строки), поэтому возвращаемая строка будет содержать один символ от начала строки start.

Если параметр length указан и имеет отрицательное значение, то возвращаемая строка закончится за length от конца строки string. Это приведет к строке с отрицательной длиной, поэтому возвращаемая строка будет содержать один символ от начала строки start.

 

Примеры:

$rest = substr ("abcdef", -1, -1); // вернет "bcde"

 

См. также strrchr(), ereg().

trim

Обрезает пробелы с начала и с конца строки

 

Описание

string trim(string str);

 

Эта функция обрезает пробеды с начала и с конца строки и возвращает обрезанную строку.

 

См. также chop(), ltrim().

 

ucfirst

Переводит первый символ строки в верхний регистр

 

Описание

string ucfirst(string str);

 

Делает заглавным первый символ строки str, если этот символ буквенный.

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

 

См. также strtoupper(), strtolower().

 

Ucwords

Переводит в верхний регистр первые символы каждого слова в строке

 

Описание

string ucwords(string str);

 

Делает заглавным первый символ каждого слова в строке str, если этот символ буквенный.

 

См. также strtoupper(), strtolower(), ucfirst().

 

Новые функции

 

AddCSIashes                          строки со знаками цитат в стиле С;

bin2hex                                    преобразует двоичные данные в шестнадцатиричное предоставление;

count_chars                             возвращает информацию о символах, используемых в строке;

сrс32                                      вычисляет сrс32 для строки;

get_html_transIation_table       возвращает таблицу преобразования с использовани­ем

 htmlspecialchars() и htmlentities();

hebrev                         преобразует логический текст Hebrew в видимый текст;

hebrevc                                    преобразует логический Hebrew в видлимый текст с

использованием новой строки;

levenshtein                               вычисляет расстояние в смысле Levenshtein для двух строк;

Metaphone                              вычисляет индекс metaphone для строки;

objstart                                    включает выходной буфер;

ob__get_contents                    возвращает содержимое выходного буфера;

ob endjflush                             посылает выходной буфер и выключает выходной буфер;

ob__end_ciean                        очищает выходной буфер и выключает его;

ob__implicit_flush                    переключает буферизацию;

rtrim                                        удаляет разделительные пробелы;

sscanf                                      анализирует входную строку в соответствии с задан­ным форматом;

similar_text                              проверяет подобие двух строк;

strcasecmp                               безопасное сравнение строк, чувствительное к регистру;

strip_tags                                 удаление ярлыков HTML и РНР из строки;

stripcslashes                             удаляет знаки цитат, установленные с помощью addcslashes(),

stristr                                       чувствительный к регистру strstr()\

strlen                                       получить длину строки;

strnatcmp                                 сравнение строк с использованием алгоритма есте­ственного порядка;

strnatcasecmp                          чувствительное к регистру сравнение строк с исполь­зованием алгоритма естественного порядка;

strncmp                                    безопасное сравнение строк с использованием первых

n символов;

strpos                                      найти положение первого вхождения символа в строке;

strrchr                                     найти положение последнего вхождения символа в

строке;

str_repeat                                воспроизвести строку;

substr_count                            сосчитать количество вхождений подстроки в строке;

substrjreplace                          удалить текст внутри части строки.

 

Для полного описания функций см. документацию на компакт-диске.

 

Функции для работы с переменными

 

gettype      

Получает тип переменной

 

Описание

 

string gettype (mixed var);

Возвращает тип переменной var.

 

 Возможные значения для возвращаемой строки:

"integer"

"double"

"string"

"array"

"object"

"unknown type"

 

См. также settype().

intval________________________________________

Возвращает целочисленное значение переменной

Описание

int intval (mixed var, int [base]);

Возвращает целочисленное значение переменной var, используюя указанное основание для перевода (по умолчанию 10). var может быть скалярного типа. Нельзя использовать функцию intval() для массивов или объектов.

 

См. также doubleval(), strval(), settype(), приведение типов.

 

doubleval_____________________________________

Получает значение переменной в формате double

Описание

double doubleval (mixed var) ;

Возвращает double (с плавающей точкой) значение переменной var. Параметр var может быть скалярного типа. Вы не можете использовать doubleval() на массивах и объектах.

 

См. также intval(), strval(), settype(), приведение типов.

 

empty__________________________________________________

Определяет, присвоено ли переменной какое-либо значение

 

Описание

int empty (mixed var);

Возвращает false, если var существует и имеет не пустое или не нулевое значение, true — в обратном случае.

 

См. также isset(), unset().

 

isjarray___________________________________

Определяет, входит ли переменная в массив

 

Описание

int is_array (mixed var);

Возвращает true, если var есть в массиве, false — в обратном случае.

 

См. также is_double(), isJloat(), is_int(), is_integer(), is_real(), is_string(), is_long(), isobject().

 

is_double_________________________________

Определяет, является ли переменная типа double

 

Описание

int is_double (mixed var);

 

Возвращает true, если var является типа double, false — в обратном случае.

 

См. также is_array(), is_float(), is_int(), is_integer(), is_real(), is_string(), is_long(), is_object().

 

is _fl о at________________________________

Определяет, является ли переменная типа float

 

Описание

int is_float (mixed var);

 

Эта функция является псевдонимом для функции is_double().

 

См. также is_double(), is_real(), is_int(), is_integer(), is_string(), is_object(), is_array(), is_long().

 

is_int____________________________________

Определяет, является ли переменная типа integer

 

Описание

int is_int (mixed var) ;

 

Эта функция является псевдонимом для функции islong().

 

См. также is_double(), is _loat(), is_integer(), is_string(), is_real(), is_object(), is_array(), is_long().

 

is nteger

Определяет, является ли переменная типа integer

 

Описание

int is_integer (mixed var);

 

Эта функция является псевдонимом для функции is_long().

См. также is_double(), is_loat(), is_int(), is_string(), is_real(), is_object(), is _rray(), is_long().

 

is_long

Определяет, является ли переменная переменной типа integer

 

Описание

int is_long (mixed var);

 

Возвращает true, если var является типа integer (long), false — в обратном случае.

 

См. также is_double(), is_float(), is_int(), is_real(), is_string(), is_object(), is_array(), is_integer().

 

is_object___________________________________

Определяет, является ли переменная типа object

 

Описание

 

int is_object (mixed var);

 

Возвращает true, если var типа object, false — в обратном случае.

 

См. также is_long(), is_int(), is_integer(), is_float(), is_double(), is_real(), is_string(), is_array().

is_real(), is_array().

 

isset___________________________________________________

Определяет, является ли переменная переменной типа real

 

Описание

int is_real (mixed var);

 

Возвращает true, если var существует, false — в обратном случае. Если переменная была удалена функцией unset(), она больше не будет определяться функцией isset().

 

$а = "test";

echo isset($а); // true unset($a);

echo isset($a); // false

 

См. также empty(), unset().

 

settype______________________     

Устанавливает тип переменной

 

Описание

 

int settype (string var, string type) ;

Устанавливает тип переменной var как type.

 

Возможные значения type:

«integer»

«double»

«string»

«array»

«object»

 

Возвращает true, при успехе, false — в обратном случае.

 

См. также gettype().

 

strval________________________________        

Получает строковое значение переменной

 

Описание

 

string strval (mixed var);

 

Получает строковое значение var.

Var может быть любого скалярного типа. Вы не можете использо­вать strval() на массивах или объектах.

 

См. также doubleval(), intval(), settype() и подмена типов.

 

unset____________________________

Удаляет указанную переменную

 

Описание

 

int unset (mixed var);

Unset() уничтожает указанную переменную и возвращает true.

 

Пример с unset():

unset( $foo ) ; 

unset( $bar['quux'] );

 

См. также isset(), empty().

 

call_user_une_______________________

Вызвать пользовательскую функцию

 

is bool___________________________________________________

Проверить, является ли переменная логической переменной

 

is_numeric_____________________________________________

Является ли переменная числовой или числовой строкой

 

is resource_______________________

Является ли переменная ресурсом

 

print_r________________________________________________________________     

Вывести понятную для человека информацию о переменной (см. рис. С. 20)

 

var_dump   

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

 

Пример:

<рге>

<?php

$а = array (1, 2, array ("a", "b", "с" ));

var_dump ($а) ;

?>

</рге>

 

Результат работы см. на рис. С.21.

 

 

Функции XML-анализатора

 

XML (extensible Markup Language, расширяемый язык разметки) — это формат, используемый для создания документов в сети Интернет. Инфор­мацию о XML можно получить по адресу http://www.v73.org/XML/.

Расширение языка РНР для работы с XML поддерживает три базовых кодировки US-ASCII, ISO-8859-I и UTF-8, кодировка UTF-16 не поддерживается.

Расширение, позволяющее работать с XML, предоставляет возмож­ности для создания анализаторов XML, в которых могут быть опреде­лены средства обработки событий XML. Для каждого анализатора можно задать несколько настраиваемых параметров.

Определены такие средства обработки событий XML (табл. С.6).

 

 

Коды ошибок

 

Для кодов ошибок XML определены следующие-значения (использу­ются в xml_parse(')):

XML_ERROR_NONE

XML_ERROR_NO_MEMORY

XMLERRORJSYNTAX

XML ERROR NO ELEMENTS

XML_ERROR_INVALID_TOKEN

XML_ERROR_UNCLOSED_TOKEN

XML_ERROR_PARTIAL_CHAR

XML_ERROR_TAG_MISMATCH

XMLERRORDUPLICATEATTRIBUTE

XML_ERROR_JUNK_AFTER_DOCJELEMENT

XML_ERROR_PARAM_ENTITY REF

XML_ERROR_UNDEFINEDJENTITY

XMLERRORRECURSrVEENTITYREF

XML_ERROR_ASYNC_ENTITY

XML_ERROR_BAD_CHAR_REF

XML_ERROR_BINARY_ENTITY_REF

XML_ERROR_ATTRIBUTE_EXTERNAL ENTITY REF

XML_ERROR_MISPLACED_XML_PI

XML_ERROR_UNKNOWN_ENCODING

XMLJERROR_INCORRECTJENCODING

XML_ERROR_UNCLOSED_CDATA_SECTION

XML_ERROR_EXTERNAL_ENTITY_HANDLING

 

Кодировка символов

 

В PHP, в расширении XML поддерживается кодировка Unicode для различных наборов символов. Существует два типа кодов для симво­лов: исходная кодировка и конечная кодировка. В РНР для внутренне­го представления всегда используется кодировка UTF-8.

Исходная кодировка определяется в момент анализа XML-доку- мента. При создании XML-анализатора можно указать вид исходной кодировки, т.е. той кодировки, которая используется в анализируемых ХМL-документах. Эта кодировка не может быть изменена в дальней­шем в процессе работы XML-анализатора. Поддерживаемые кодировки таковы: ISO-8859-1, US-ASCII, UTF-8. По умолчанию используется ISO-8859-1.

Конечная кодировка используется в момент обработки данных функциями обработки XML-анализатора.

 

Примеры

 

Здесь размещено несколько примеров скриптов, анализирующий ХМ L- документы.

 

Структура XML-документа

 

Этот пример выводит структуру документа.

 

Пример вывода структуры XML-элементов документа:

 

$file = "data.xml";

$depth = array ();

 

function startElement($parser, $name, $attrs) {

global $depth;

for ($i = 0; $i < $ depth [ $parser ] ; $i + + ) {

print " ";

}

print "$name\n";

$depth[$parser] + + ;

}

function endElement($parser, $name) {

global $depth;

$depth[parser]-;

}

 

$xml_parser = xml_parser_create() ;

xml_set_element_handler($xml_parser, "startElement", "endElement");

if (!($fp = fopen($file, "r"))) {

die("could not open XML input");

}

 

while ($data = fread($fp, 4096)) {

if   ( ! xml_parse($xml_parser, $data, feof($fp))) {

die (sprintf("XML error: %s at line %d",

xml_error_string(xml_get_error_code($xml_parser)),

xml_get_current_line_number($xml_parser)));

}

}

xml_parser_free($xml_parser);

 

Преобразование XML-ярлыков

 

Пример преобразования XML в HTML. В этом примере происхо­дит преобразование ярлыков XML в ярлыки HTML. Все ярлыки, не найденные в массиве ярлыков, будут проигнорированы. Пример будет работать только с определенным типом документов XML.

 

$file = "data.xml";

$map_array = array{

"BOLD"           => "B",

"EMPHASIS" => "I",

"LITERAL" => "TT"

) ;

 

function startElement(Sparser, $name, $attrs) {

global $map_array;     

if (Shtmltag = $map_array[Sname] ) {

print "<$htmltag>";

}

}

 

function endElement(Sparser, Sname) {

global $map_array;

if (Shtmltag = $map_array[Sname]) {

print "</$htmltag>";

}

}

 

function .characterData(Sparser, Sdata) {  

print Sdata;

}

 

$xml_parser = xml_parser_create() ;

// use case-folding so we are sure to find the tag in $map_array

xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true) ; xml_set_element_handler($xml_parser, "startElement", "endElement") xml_set_character_data_handler($xml_parser, "characterData");

if ( ! ($fp = fopen($file, "r"^)) {

die("could not open XML input");

}

 

while (Sdata = fread($fp, 4096)) {

if (!xml_parse($xml_parser, Sdata, feof(Sfp))) {

die(sprintf("XML error: %s at line %d",

xml_error_string(xml_get_error_code($xml_parser))

xml_get_current_line_number($xml_parser)))

}

}

xml parser free($xml parser);

 

Использование внешних фрагментов в XML

 

В этом примере показан вариант использования средства обработ­ки внешних элементов в XML, а также способы обработки PI.

 

Пример обработки внешних объектов:

 

$file = "xmltest.xml" ;

 

function trustedFile($file) {

// only trust local files owned by ourselves

if (leregi("^([a-z]+) ://", $file)

&& fileowner ($file) == getmyuid()) {

return true;

}

return false;

 

}

function startElement(Sparser, Sname, $attribs) {

print "&lt;<font color=\"#0000cc\">$name</font>";

if (sizeof(Sattribs)) {

while (list($k, $v) = each(Sattribs)) {

print " <font color=\"#009900\">$k</font>=\"<font

color=\"#990000\">$v</font>\"";

}

}

print "&gt;";

}

 

function endElement(Sparser, $name) {

print "&lt; /<font color=\ "#0000cc\">.$name</f ont>&gt; " ;

}

 

function characterData($parser, $data) {

print "<b>$data</b>";

}

 

function PIHandler($parser, $target, $data) {

 switch (strtolower(Starget)) {

 case "php":

global $parser_file;

 // If the parsed document is "trusted", we say it is safe

 // to execute PHP code inside it. If not, display the code

// instead.

if (trustedFile($parser_file[$parser]))

{eval($data);

} else {

printf("Untrusted PHP code: <i>%s</i>",

htmlspecialchars($data));

}

break;

}

}

 

function defaultHandler(Sparser, Sdata) {

if (substr ($data, 0, 1) == "&" && substr ($data, -1, 1) == ";") {

 printf('<font color="#aa00aa">%s</font>' ,

 htmlspecialchars(Sdata) ) ;

} else {

printf('<font size="-l">%s</font>',

htmlspecialchars($data));

}

}

 

function externalEntityRefHandler($parser,ыopenEntityNames, $base $systemld, $publicld) {

if (Ssystemld) {

if (!list($parser, $fp) = new_xml_parser($systemld)) {

printf("Could not open entity %s at %s\n",

$openEntityNames, $systemld);

return false;

}

while ($data = fread($fp, 4096)) {

if (!xml_parse(Sparser, Sdata, feof(Sfp))) {

printf("XML error: %s at line %d while parsing entity %s\n",

xml_error_string(xml_get_error_code($parser)),

xml_get_current_line_number($parser), $openEntityNames)

xml_parser_free($parser);

return false;

}

}

xml_parser_free(Sparser);

return true;

}

return false;

}

 

function new_xml_parser($file) {

global $parser_file;

 

$xml_parser = xml_parser_create() ;

xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);

xrnl_set_element_handler ($xml_parser, "star-tElement", "endElement") xml_set_character_data_handler($xml_parser, "characterData"); xml_set_processing_instruction_handler($xml_parser, "PIHandler");

 xml_set_default_handler($xml_parser, "defaultHandler"); xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler")

 

if (! ($fp = @fopen($file, "r"))) {

return false;

}

if (!is_array($parser_file)) {

settype($parser_file, "array");

}

$parser_file[$xml_parser] = $file;

return array($xml_parser, $fp);

}

if (!(list($xml_parser, $fp) = new_xml_parser($file))) {

die("could not open XML input");

}

print "<pre>";

while ($data = fread($fp, 4096)) {

if (!xml^parse($xml_parser, $data, feof ($fp))) {

die (sprintf("XML error: %s at line %d\n",

xml_error_string (xml_get_error_code($xml_parser))

xml_get_current_line_number($xml_parser)));

}

}

print "</pre>";

print "parse complete\n";

xml_parser_free($xml_parser);

 

 

Файл xmltest.xml:

 

<?xml version='1.0 '?>

<!DOCTYPE chapter SYSTEM "/just/a/test.dtd" [

<!ENTITY plainEntity "FOO entity">

<!ENTITY systemEntity SYSTEM "xmltest2.xml">

]>

<chapter>

<TITLE>Titie SplainEntity;</TITLE>

 <para>

 <informaltable>

<tgroup cols="3">

 <tbody>

<row><entry>al</entry><entry morerows="l">bl</entry><entry>cl</ entryx/row>

<row><entry>a2</entry><entry>c2</entry></row>

< rowxen ><entry>a3</entry><entry>b3</ entry><entry>c3</entry></ row>

</tbody>

 </tgroup>

</informaltable>

</para>

&systemEntity ;

<sectl  id="about">

<title>About this Document</title>

 <para>

<!— this is a comment —>

<?php print 'Hi! This is PHP version phpversion () ; ?>

</para>

 </sectl>

</chapter>

 

Файл xmltest2.xml:

 

<?xml version="l.0"?>

<!DOCTYPE foo [

<! ENTITY testEnt "test entity" ]>

<foo>

<element attrib="value"/>

&testEnt;

<?php print "This is some more PHP code being executed."; ?>

</foo>

 

xml_parser_create

Создать XML-анализатор

 

Описание

int xml_parser_create ([string encoding!) encoding (optional)

 

Возвможные значения:

-         ISO-8859-1 (default)

-         US-ASCII

-         UTF-8

 

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

 

Функции XML-анализатора

xmI_set_object                                               использовать анализатор XML в объекте;

xml_set_element__handler                               задать средства обработки для начала и

конца элемента;

xml_set_processing_instruction_handler           задать средство обработки символьных

данных;

xml_set_processing_iastruction_handler           задать средства обработки процессорных

инструкций PI;

xml_set_default _handler задать                      средство обработки, используемое

по умолчанию;

xml_set_unparsed_entity_decl_handler            задать средство обработки неанализируемых элементов;

xml_set_notation_decl_ handler                       задать средство обработки задания обо­значений;

xml_set_external_enity_ref__handler    задать средство обработки внешних эле­ментов; 

xml_parse                                                       начать анализ XML-документа;

xml_get_error_code                                        получить код ошибки XML-анализатора;

xml_error_strmg                                              получить строку ошибки XML-анализатора;

xml_get_current_line_number                          получить номер текущей строки, обраба­тываемой анализатором XML;

xml_get_current_coIumn_number                    получить номер текущего положения в строке;

xml_get_current_byte_index                получить номер текущего байта;

xmI_parse_into_struct                          анализировать данные XML в виде массива;

xml parser free                                    освободить анализатор XML;

xmI_parser_set_option                                    установить параметры анализатора XML;

xml_parser_get_option                         получить параметры XML-анализатора;

utf8_decode                                                    преобразовать строку символов ISO-8859-1,

кодированных с помощью UTF-8, в ISO-8859-1;

utf8_encode                                                    кодировать строку символов ISO-8859-1 в UTF-8.

 

Прочие функции

 

create_function                         создает анонимную (lambda-style) функцию;

connection_aborted                             возвращает true, если клиент отсоединен;

connection_status                                возвращает статус соединения;

connection_timeout                              возвращает true, если время выполнения скрипта истекло;

define                                                  определяет именованную константу;

defined                                    проверяет наличие указанной именован­ной константы;

die                                                      выводит сообщение и прекращает выпол­нение скрипта;

eval                                                     проверяет строку РНР-кода;

exit                                                      прекращает выполнение текущего скрипта;

fimc_get_arg                                       возвращает элемент из списка аргументов;

func_get_args                                      возвращает массив аргументов функции;

func_num_args                         возвращает количество аргументов, пере­данных функции;

function_exists                          возвращает true, если указанная функция определена;

get browser                                         сообщает возможности клиентского броузера;

ignore_user_abort                                устанавливает необходимость прекращения выполнения скрипта в случае, если кли­ент прекращает соединение;

iptcparse                                             анализирует двоичный блок IPTC (http:// www.xe.net/iptc/);

leak                                                     утечка памяти;

pack                                                   упаковка данных в двоичную строку;

register_shutdown_fiinction                  регистрация функции, выполняемой при отключении;

serialize                                               создает представление величины для ее хранения;

sleep                                                   откладывает выполнение;

uniqid                                                  создает уникальный идентификатор (id);

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

unserialize                                           создает значение из представляения, со­зданного с помощью serialize                                    для хранения;

usleep                                                 отложить выполнение на указанное коли­чество микросекунд;

highlight_string                          синтаксис строки;

highlight_file                                        синтаксис файла;

show_source                                       синтаксис файла.

 

Оригинальная документация по функциям РНР4 содержится на прила­гаемом компакт-диске.

 

Приложение А

ФАЙЛ PHP.INI

 

Важным составным элементом процесса установки РНР является правильная конфигурация файла PHP.ini. В настоящем приложении содержится описание директив файла php.ini.

Файл PHP.ini состоит из следующих инструкций и комментариев к ним.

 

;Файл  [PHP.ini]

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Что находится в этом файле ;

;;;;;;;;;;;;;;;;;;;;;;;;;;

; С помощью этого файла можно управлять многими аспектами поведения интерпретатора РНР.

 

;Исходный файл php.ini-dist должен быть переименован в файл php.ini и

;скопирован в основной каталог, в котором находится система Winodws.

 ; Файл может находиться и в другой папке. РНР производит поиск этого

 ;файла в текущем каталоге, в каталогах, указанных в переменной окруже­ния PHPRC и в каталогах,

 ; которые могли быть заданы во время компиляции

 ;кода, поскольку существует возможность получения дистрибутива РНР в

; виде исходного программного кода. Директорий, заданный для поиска

;файла php.ini, может быть изменен, если будет указан аргумент -с в

;режиме задания командной строки.

;Синтаксис файла очень прост. Пробелы, а также строки, начинающиеся с

;символа точки с запятой, игнорируются, заголовки разделов ([Foo])

;также пропускаются.

;Однако такие заголовки в дальнейшем могут оказаться полезными.

;Директивы указываются с использованием следующего синтаксиса:

directive=value (директива=значение)

;Имена директив чувствительны к регистру, т.е., например, Јoo=bar — это

;не то же самое, что FOO=bar.

;Значением может быть строка, число или константа РНР, например, E_ALL

;или М_Р1, одна из констант INI (например, On, Off, True, False, Yes,

;No, None), выражение (например, E_ALL & ~E_NOTICE или строка, помещен­ная в кавычки ("foo").

 

Выражения в файле INI могут быть составлены лишь с использова­нием побитовых операторов и скобок. В качестве операторов допуска­ется использование

| (побитовый OR);

& (побитовый AND);

~ (побитовый NOT);

! (логический NOT).

 

Логические значения могут быть установлены в положительное (true) состояние с использованием величин 1, On, True и Yes, отрица­тельное состояние (false) устанавливается при помощи значений 0, Off, False и No.

Пустая строка может быть заменена простым пропуском. Так, директива foo=; устанавливает значение строки foo в виде пустой строки. При этом важно иметь в виду, что директива foo=none уста­навливает пустую строку, а директива foonone» устанавливает зна­чение foo в виде строки 'none'.

Все значения, содержащиеся в файле php.ini-dist соответствуют значениям, задаваемым по умолчанию. Если эти значения не будут изменены, то4 работа РНР будет происходить так же, как если бы файл php.ini не был установлен совсем.

;;;;;;;;;;;;;;;;;;;;;;;;

;Опции языка ;

;;;;;;;;;;;;;;;;;;;;;;;;

engine=On

;Включает язык РНР при работе с сервером Apache

short_open_tag=On

; допускает использование ярлыка <?. Если выключен, то допускается использование только ярлыков <?php и <script>.

 

asp_tags=Off

;допускает использование ярлыков в стиле ASP, т.е. ярлыков <% %>.

precision=14

;количество значащих цифр при отображении чисел с плавающей точкой

 

 output_buffering=Off

;Буферизация позволяет посылать заголовки, в том числе cookies.

;Буферизация может быть активизирована даже после того, как будет послано тело файла (что ;приведет, однако, к некоторому замедлению в /работе РНР), это может быть осуществлено путем ;вызова функции буферизации.

 

output_handler=

;Задав эту директиву, мы имеем возможность перенаправить все выходные данные, создаваемые ;скриптами функции. В качестве такой функции можно указать, например, функцию "ob__gzhandler", которая будет упаковывать данные.

 

implicit_flush=Off

;Включение этой опции вызову функции flush() после кажого обращения к

;функции print () или echo (), а также после каждого HTML-блока.

;Включение этой опции рекомендуется только в целях отладки программ.

 

allow_call_time_pass__reference=On

;Приводит к передаче аргументов при ссылке на функцию.

;Безопасный режим

safe_mode=Off

safe_mode_exec_dir=

safe_mode_allowed_env_vars=PHP_

 

;По умолчанию. При этом пользователь имеет возможность устанавливать только такие переменные ;окружения, которые начинаются с префикса РНР_ (например, PHP_FOO=BAR).

;Если эта директива не задана (пустая строка), то пользователь' может /устанавливать любые ;переменные окружения.

 

safe_mode_protected_env_vars=LD_LIBRARY_PATH

;Эта директива содержит список переменных окружения, разделенных запятой.

;Эти переменные не могут быть изменены при помощи функции putenv(), они будут защищены.

 

disable_functions=

;Эта директива позволяет выключить те или иные функции. Выключенные

;функции перечисляются в списке, при этом функции отделяются друг от

;друга запятыми. На эту директиву не влияет то, включен или выключен ;безопасный режим Safe Mode.

;Цвета, которыми будет показан текст того или иного элемента в синтаксисе html.

 

highlight.string=#DD0000

;строки

 

highlight.comment=#FF800О

;комментарии

 

highlight.keyword=#007700

;ключевые слова

 

highlight.bg=#FFFFFF

;фон

highlight.default=#0000BB

;цвет по умолчанию

 

highlight.html=#000000

;цвет для HTML-текста

 

; Прочие expose_php=On

;Устанавливет возможность отображения в подписи web-сервера того факта,

;что на сервере установлен РНР. Это позволит определить пользователю

;то, что ваш сервер поддерживает РНР.

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Ограничение ресурсов ;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

max_execution_time=30

; Максимальное время в секундах, отведенное для обработки скрипта memory_limit.=8M

; Максимальный размер памяти, отводимый скрипту для работы

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Обработка ошибок;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Ошибки сообщаются в виде появления определенных значений того или

; иного бита (флаги ошибок). Для задания уровня сообщений об ошибках

;используются следующие значения: E_ALL        — все ошибки и предупреждения

; E_ERROR     — фатальные ошибки времени выполнения

;E_WARNING           — не фатальные ошибки (предупреждения) времени исполнения

;E_PARSE ..   — ошибки проверки (синтаксические ошибки)

;E_NOTICE    — замечания времени исполнения

;E_CORE_ERROR — фатальные ошибки, произошедшие во время инициализации РНР ;E_CORE_WARNING — предупреждения, появляющиеся во время инициализации РНР ;E_COMPILE_ERROR — фатальные ошибки компиляции

;E_COMPILE_WARNING — предупреждения (не фатальнфе ошибки) компиляции

;E_USER_ERROR — сообщение об ошибке, созданное пользователем

;E_USER_WARNING — предупреждение, созданное пользователем

;E_USER_NOTICE — замечание, созданное пользователем

;Примеры:

;error_reporting=E_ALL & ~E_NOTICE

;Выдаются все сообщения об ошибках, за исключением замечаний ;error_reporting=E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

;Выводятся только сообщения об ошибках (но не предупреждения)

 

error_reporting= E_ALL

; выводятся все сообщения об ошибках, предупреждения и замечания

 

display_errors=On

; Сообщения об ошибках выводятся в виде фрагмента текста, выводимого в

;общем содержании. Рекомендуется выключать эту опцию. Это особенно важно по соображениям ;безопасности. Сообщения об ошибках могут содержать небезопасную для сервера информацию, ;которая будет передана пользователю.

display_startup_errors=Off

; Задание этого параметра приведет к тому, что даже ifpn включенном режиме сообщения об ;ошибках ошибки, возникающие при запуске РНР' /отображаться не будут. Рекомендуется всегда (за ;исключением случаев отладки) держать эту опцию выключенной.

 

log_errors=Off

; Если включена эта опция, то сообщения об ошибках выводятся в специальный файл

; Рекомендуется включать эту опцию, при этом следует отключить /возможность вывода сообщений ;об ошибках пользователю (см. выше).

 

track_errors=Off

; Эта опция позволяет сохранять сообщения об ошибке в переменной $php_errormsg (boolean)

rror_prepend_stгing="<font color=ff0000>" строка, которая выводится перед сообщением об ошибке

;error_append_string="</font>"

; Строка, которая выводится сразу после сообщения об ошибке

;error_log=filename

; файл, куда выводятся сообщения об ошибках

;error_log=syslog

; сообщения об ошибках выводятся в системный файл ошибок (для WindowsNT)

 

warn_plus_overloading=0ff

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Обработка данных ;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Опция track_vars всегда включена (в РНР4), последовательность переменых устанавливается в виде:

:variables_order="EGPCS"

; Эта переменная сождержит порядок регистрации переменных (GET, POST, Cookie, Environment и ;встроенных переменных, для краткости G, Р, С, Е и S соответственно, что сокращенно обозначается ;как EGPCS или GPC) .

 

register_globals=On

; задает необходимость регистрации переменных EGPCS в качестве глобальных

; переменныхvariables as global

 

register_argc_argv=On

;устанавливает режим декларирования переменных argv&argc, содержащих информацию из метода GET

 

post_max_size=8M

;максимальный размер данных метода POST, принимаемых интерпретатором РНР

 

 gpc_order="GPC"

; Вместо этой директивы следует использовать variables_order.

 

; Magic quotes

magic_quotes__gpc=On

;включает magic quotes для входящих данных из методов GET/POST и для Cookie

 

magic_quotes_runtime=Off

; magic quotes для данных, сгенерированных в процесе работы, например,

;для данных, полученных из SQL, exec (), и т.п.

 magic_quotes__sybase=Off

;Использование magic quotes в стиле Sybase ('  в сочётании с '' вместо \')

 

; Автоматически вставляет файл в начало или в конец документа РНР:

auto_prepend_f ile=

auto_append_file=

 

; PHP 4.0b4 всегда выводит заголовок, в котором указывается кодировка

;Content-type: header. Чтобы выключить эту опцию и не посылать заголовок

;с указанием кодировки, нужно установить эту директиву равной пустой строке.

; По умолчанию используется заголовок

 

default_mimetype="text/html"

;default charset='"iso~885 9-l"

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Пути и каталоги;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

include_path=

;дляUNIX: "/pathl:/path2"

;для Windows: "\pathl;\path2"

 

doc_root=

; корневой директориий для файлов php, используется только в том

; случае, ЕСЛИ ЭТА ДИРЕКТИВА НЕ ПУСТА

 

user__dir=

;директорий, в котором находятся PHP-файлы скриптов, если в пути указан

;директорий вида /~username, используется только тогда, когда директива

;не пуста

 

extension dir=./

; директорий, в котором расположены библиотеки расширений возможностей

;языка РНР

 

enable_dl=On

;Включена или выключена возможность использования функций dl().

;Функция dl () не работает должным образом на многопоточных серверах,

;например, на сервере IIS или Zeus, в этих случаях она автоматически

;выключается на этих серверах.

 

;;;;;;;;;;;;;;;;;;;;;;;;;;

;Пересылка файлов серверу ;

;;;;;;;;;;;;;;;;;;;;;;;;;;

file_uploads=On

;Включается или выключается возможность посылки файлов серверу с помощью HTTP ;upload_tmp_dir=

;временный директорий для размещения файлов, посланных на сервер с помощью HTTP

;upload_max_filesize=2M

;максимальный размер файлов, посылаемых серверу

 

;;;;;;;;;;;;;;;;;;;;;;;;

;Параметры для Fopen;

;;;;;;;;;;;;;;;;;;;;;;;;;

 

allow_url_fopen=On

;Допускается ли использование адресов типа http:..., ftp:...

;в качестве имен файлов

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Динамические расширения ;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

;Если требуется автоматическая загрузка расширений, то можно использовать /синтаксис ;следующего вида: extension=modulename.extension для Winfows это может быть сделано так: ;extension=msql.dll

UNIX

;extension=msql.so

;Заметим, что здесь должно быть указано лишь имя файла расширения, но

;не весь путь к файлу целиком.

;Местоположение файла указывается в директиве extension dir.

;Расширения для Windows

;Расширения для MySQL и ODBC встроены в РНР и дополнительные *.dll

;файлы для работы с ними не требуются.

;

;extension=php_bz2.dll

;extension=php_ctype.dll

;extension=php_cpdf.dll

;extension=php_curl.dll

;extension=php_cybercash.dll

;extension=php_db.dll

;extension=php_dba.dll

;extension=php_dbase.dll

;extens ion=php_domxml.dl1

;extension=php_dotnet.dll

;extension=php_exif.dll

;extension=php_fdf.dll

;extension=aphp_filepro.dll

;extension=php_gd.dll

;extension=php_gettext.dll

;extension=php_ifx.dll

;extension=php_iisfunc.dll

;extension=php_imap.dll

;extension=php_interbase.dll ;

extension=php_java.dll

;extension=php_ldap.dll

;extension=php_mhash.dll

;extension=php_mssql65.dll

;extension=php_mssql70.dll

;extension=php_oci8.dll

;extension=php_openssl.dll

;extension=php_oracle.dll

;extension=php_pdf.dll

;extension=php_pgsql.dll

;extension=php_printer.dll

;extension=php_sablot.dll

;extension=php_snmp.dll

;extension=php_sybase_ct.dll

;extension=php_yaz.dll

;extension=php_zlib.dll

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Конфигурирования модулей;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

[Syslog]

define_syslog_variables=Off

; требуется или нет задание различных системных переменных таких как

; $LOG_PID, $LOG_CRON, и т.п. Во время выполнения программы эти переменные могут быть заданы с использованием define_syslog_variables() .

 

[mail function]

SMTP= mail.server, name.ru

; только для for Win32, имя почтового сервера

sendmail_from= me@localhost.com

; только для Win32, значение строки заголовка почты From

;sendmail_path=

;только для unix, могут быть использованы аргументы (по умолчанию ;'sendmail -t -i' )

 

[Debugger]

debugger.host=localhost

debugger.port=7869

debugger.enabled=False

 

[Logging]

;logging.method=db

;logging.directory=/path/to/log/directory

 

 [Java]

;java.class.path=.\php_java.jar

;java.home=c:\jdk

;j ava.library=c:\j dk\j re\bin\hotspot\jvm.dll

;java.library.path=.\

 

[SQL]

sql.safe mode=Off

 

[ODBC]         

; odbc . default_db=Eiue не используется

; odbc . default_user=Eute не используется

 ; odbc. def ault_pw=Eiue не используется odbc.allow_persistent=On

; разрешает или нет использование постоянных связей odbc.check_persistent=On

;проверяет, является ли установленная связь все еще открытой перед

;повторным использованием odbc.max_persistent=-l

; Максимальное число одновременно существующих постоянных соединений. -1

;обозначает неограниченное количество

; odbc.max_links=-l

; макисчмальное число связей, -1 — не ограничено

odbc.defaultlrl=409 6

; Использование длинных полей. Возвращает количество переменных.

odbc.defaultbinmode=l

; обработка двоичных данных: 0 — пропускается, 1 — оставлять как есть,

; 2 — преобразовывать в символы

 

[MySQL]

mysql.allow_persistent=On

;разрешает или запрещает постоянные соединения

mysql.max_persistent=-l

;максимльное число постоянных соединений, -1 — не ограничено

mysql.max_links=-l

;общее максимальное чило соединений (постояных и не постоянных), ;-1 — без ограничений mysql.default_port=

;номер порта по умолчанию для mysql_connect(). Если значение не установлено, то используется

; $MYSQL_TCP_PORT или the mysql-tcp из /etc/services или определенное во время компиляции

; значение MYSQL_PORT  (в перечисленном порядке). Win32 использует только MYSQL_PORT. mysql.default_socket=

; имя сокета, используемое по умоляанию для соединений MySQL. Если не

 ;указано, то используется встроенное имя.Значнеия по умоляанию для

;MySQL

mysql.default_host=

; хост используемый по умолчанию в mysql_connect() mysql.default_user=

; пользователь, используемый по умолчанию в mysql_connect() mysql.default_password=

; пароль, используемый по умолчанию в mysql_connect() ;

; Необходимо напомнить, что хранение паролей в этом файле — это не /лучшая идея. Любой пользователь может запустить команду

 ;' echo cfg_get_var("mysql.default_password") ' и узнать хранящиеся в ;этом файле пароли.

 

[mSQL]

msql.allow_persistent=On

; позволяет или запрещает использование постоянных связей msql.max_persistent=-l

; максимальное количество постоянных связей, -1 — не ограничено msql.max_links=-l

; общее максимальное количество связей(постоянных и непостоянных), ;—1 — не ограничено

 

[PostgresSQL]

pgsql.allow_persistent=On

; разрешает или запрещает использование постоянных связей pgsql.max_persistent=-l

; максимальное число постоянных связей, -1 — нет ограничений pgsql.max_links=-l

; максимальное количество связей (постоянных и непостоянных) , ; -1 означает отсутствие ограничений

 

[Sybase]

sybase.allow_persistent=On

; разрешает или запрещает использование постоянных связей

sybase.max_persistent=-l

; максимальное число постоянных связей, — 1 — не ограничено sybase.max_links=-l

; общее максимальное число связей -1 — не ограничено ;sybase.interface_file="/usг/sybase/interfaces" sybase.min_error_severity=l0

; минимальное количество показываемых ошибок

sybase.min_message_severity=l0

sybase.compatability_mode=Off

; режим совместимости со старыми версиями PHP 3.0.

 

 [Sybase-CT]

sybct.allow_persistent=On

; позволяет или запрещает использование постоянных соединений sybct.max persistent=-l

; макисмальное количество постоянных соединений, -1 — нет ограничений sybct.max_links=-l

; максимальное количество соединений, -1 — нет ограничений s

ybct.min_server_severity=10

 sybct.min_client_severity=l0

 

[bcmath]

 bcmath.scale=0

;количество десятичных цифр для всех функций [browscap]

;browscap=extra/browscap.ini

 

[Informix]

ifx.default_host=

; хост по умолчанию для ifx_connect () (не работает в безопасном режиме) ifx.default_user=

; пользователь по умолчанию для ifx_connect() (не работает в безопасном ;режиме)

ifx.default_password=

; пароль по умолчанию для ifx_connect() (не работает в безопасном ;режиме)

if х. al.low_persistent=On

; резрешено или нет постоянные соединения ifх.max_persistent=-l

; максимальное число постоянных соединений, — 1 — нет ограничений ifx.max_links=-l

; максимальное число соединений (общее число), — 1 — нет ограничений

ifx.textasvarchar=0

ifх.byteasvarchar=0

ifx.charasvarchar=0

if x . blobinf ile = 0

ifx.nullformat=0

 

[Session]

session. save__handler=files

; используется для хранения и получения данных

session.save path= D:\Program Files\php\sessiondata

; аргумент, передаваемый средству управления сессиями, указываетя путь к каталогу, в котором ;хранятся файлы данных session.use_cookies=l

; используются или нет cookies

session.name=PHPSESSID

; имя сессии

; используется как имя

cookie session.auto_start=0

; сессия инициализируется в начале запроса

session.cookie_lifetime=0

; время жизни cookie в секундах

; если указано 0, то время жизни cookie устанавливается действительным

; до момента повторного старта броузера

session.cookie_path=/

; путь, для которого дейстивтельны cookie

session.cookie_domain=

; домен, к которому относятся cookie s

ession.serialize_handler=php

; обработчик, используемый для сериализации данных

; php стандартный обработчик

session.gc_probability=l

session.gc_maxlifetime=l440

; по истечении указанного количества секунд данные будут

; рассматриваться как мусор и будут удалены s

ession.referer_check=

; проверка ссылок HTTP

session.entropy_length=0

; количество байтов, читаемых из файла.

 session.entropy_file=

; указывается для задания идентификатора сессии id

; session.entropy_length=l6

; session.entropy_file=/dev/urandom

session.cache_limiter=nocache

; устанавливается равным {nocache,private,public}

; для определения последовательности кеширования

session.cache_expire=180

; время, по истечении которого документ устаревает, в минутах

session.use_trans_sid=l

; используется поддержка transient sid

; by compiling with enable-trans-sid

url_rewriter.tags="a=href,area=href,frame=src,input=src,form=fakeentry"

 

 [MSSQL]

mssql.allow_persistent=On

 

; разрешает или запрещает использование постоянных соединений

mssql.max_persistent=-l

; масимальное количество постоянных соединений, - 1 — обозначает /отсутствие ограничений

mssql. max__links=-l -

; общее максимальное количество соединений, — 1 — нет ограничений

mssql .min__error_severity=10

mssql.min_meSsage_severity=10

mssql.compatability_mode=Off

; режим совместимости с PHP 3.0.

;mssql.textlimit=4096

; допускается в интервале от 0 до — 2147483647Ю по умолчанию = 4096

;mssql.textsize=4096

; допускается в интервале от 0 до — 2147483647Ю по умолчанию = 4096

 

;mssql.batchsize=0

;ограничение количества записей в одном фрагменте, 0 соответствует тому, ;что все записи делаются в одном фрагменте.

 

[Assertion]

;assert.active=On

;assert.warning=On

;assert.bail=Off

;assert.callback=0

;assert.quiet_eval=0

 

[Ingres II]

ingres.allow_persistent=On

; разрешает или запрещает использование постоянных соединений ingres.max_persistent=-l

; максимальное число постоянных соединений, — 1 — нет ограничений ingres.max_links=-1

; общее максимальное число соединений, — 1-нет ограничений ingres. default__database=

; база данных, используемая по умолчанию в формате [node__id: : ] dbnarne [/ srv_class]

ingres. default__user=

; пользователь по умолчанию

ingres.default_password=

; пароль по умолчанию

 

[Verisign Payflow Pro]

pfpro.defaulthost="test.signio.com"

; Signio сервер по умолчанию pfpro.defaultport=443

; порт по умолчанию, с которым производится соединение

pfpro.defaulttimeout=30

; временная задержка, допустимая по умолчанию

; pfpro.proxyaddress=

; адрес прокси-сервера, используемый по умолчанию

; pfpro.proxyport=

; порт прокси-сервера по умолчанию

; pfpro.proxylogon=

; имя для прокси-сервера по умолчанию

 ; pfpro.proxypassword=

; пароль для прокси-сервера по умолчанию

 [Sockets]

sockets.use_system_read=On

; Использовать системную функцию read () вместо php_read().

; Локальные переменные:

; tab-width: 4

; End: