Функции определения и установки параметров интерпретатора РНР
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,
}
// другие способы вызова 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 (доски сообщений, гостевые книги и т.п.).
В настоящее время осуществляются следующие замены:
"&" (амперсанд) становится "&ашр;"
"«" (двойные кавычки) становится """
"<" (знак меньше) становится "<"
">" (знак больше) становится ">"
Следует отметить, что эта функция не заменяет ничего, кроме символов, указанных выше. Для полной обработки см. функцию 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(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 @ + %/'),
Или если требуется передать информацию в качестве части 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 "<<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 ">";
}
function endElement(Sparser, $name) {
print "< /<font color=\ "#0000cc\">.$name</f ont>> " ;
}
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 устанавливает пустую строку, а директива foo=«none» устанавливает значение 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: