Учебник PHP

         

printer_create_font

(unknown)

printer_create_font - создаёт новый шрифт.

Описание

mixed printer_create_font (string face, int height, int width, int font_weight, bool italic, bool underline, bool strikeout, int orientaton)

Функция создаёт новый шрифт и возвращает его дескриптор. Шрифт используется для прорисовки текста. Пример см. в printer_select_font().
face обязан быть строкой, специфицирующей название шрифта.
height специфицирует высоту шрифта, а width - ширину.
font_weight
специфицирует вес шрифта (400 - нормальный/normal) и может быть одной из следующих предопределённых констант:

PRINTER_FW_THIN: устанавливает вес шрифта thin (100).

PRINTER_FW_ULTRALIGHT: устанавливает вес шрифта ultra light (200).

PRINTER_FW_LIGHT: устанавливает вес шрифта light (300).

PRINTER_FW_NORMAL: устанавливает вес шрифта normal (400).

PRINTER_FW_MEDIUM: устанавливает вес шрифта medium (500).

PRINTER_FW_BOLD: устанавливает вес шрифта bold (700).

PRINTER_FW_ULTRABOLD: устанавливает вес шрифта ultra bold (800).

PRINTER_FW_HEAVY: устанавливает вес шрифта heavy (900).

italic может быть TRUE или FALSE и устанавливает, должен ли шрифт быть italic.

underline может быть TRUE или FALSE и устанавливает, должен ли шрифт быть подчёркнутым.

strikeout может быть TRUE или FALSE и устанавливает, должен ли шрифт быть перечёркнутым.

orientation специфицирует поворот. Пример см. в printer_select_font().

printer_create_pen

(unknown)

printer_create_pen - создаёт новый карандаш.

Описание

mixed printer_create_pen (int style, int width, string color)

Функция создаёт новый карандаш и возвращает его дескриптор. Карандаш используется для прорисовки линий и кривых. Пример см. в printer_select_pen().
color обязан быть цветом в 16-ричном формате RGB, т.е. "000000" для black,


width специфицирует ширину карандаша, а style обязан быть одной из следующих констант:

PRINTER_PEN_SOLID: создаёт сплошной карандаш.

PRINTER_PEN_DASH: создаёт пунктирный карандаш.

PRINTER_PEN_DOT: создаёт точечный карандаш.

PRINTER_PEN_DASHDOT: создаёт карандаш из тире и точки.

PRINTER_PEN_DASHDOTDOT: создаёт карандаш из тире и двух точек.

PRINTER_PEN_INVISIBLE: создаёт невидимый карандаш.

printer_delete_brush

(unknown)

printer_delete_brush - удаляет кисть.

Описание

bool printer_delete_brush (resource handle)

Функция удаляет выбранную кисть. Пример см. в printer_select_brush(). Возвращает TRUE при успехе, иначе FALSE. handle обязан быть правильным дескриптором кисти.

printer_delete_dc

(unknown)

printer_delete_dc - удаляет контекст устройства.

Описание

bool printer_delete_dc (resource handle)

Функция удаляет контекст устройства и возвращает TRUE при успехе, FALSE при ошибке. Пример см. в printer_create_dc(). handle обязан быть правильным дескриптором принтера.

printer_delete_font

(unknown)

printer_delete_font - удаляет шрифт.

Описание

bool printer_delete_font (resource handle)

Функция удаляет выбранный шрифт. Пример см. в printer_select_font(). Возвращает TRUE при успехе, иначе FALSE. handle обязан быть правильным дескриптором шрифта.

printer_delete_pen

(unknown)

printer_delete_pen - удаляет карандаш.

Описание

bool printer_delete_pen (resource handle)

Функция удаляет выбранный карандаш. Пример см. в printer_select_pen(). Возвращает TRUE при успехе, иначе FALSE. handle обязан быть правильным дескриптором карандаша.

printer_draw_bmp

(unknown)

printer_draw_bmp - рисует bmp.

Описание

void printer_draw_bmp (resource handle, string filename, int x, int y)

Функция просто рисует bmp растрового filename в позиции x, y.
handle обязан быть правильным дескриптором принтера.

Функция возвращает TRUE при успехе, иначе FALSE.

printer_draw_chord

(unknown)

printer_draw_chord - рисует хорду.

Описание

void printer_draw_chord (resource handle, int rec_x, int rec_y, int rec_x1, int rec_y1, int rad_x, int rad_y, int rad_x1, int rad_y1)

Функция просто рисует хорду. handle обязан быть правильным дескриптором принтера.

rec_x это верхняя левая координата x ограничивающего прямоугольника.

rec_y это верхняя левая координата y ограничивающего прямоугольника.

rec_x1 это нижняя правая координата x ограничивающего прямоугольника.

rec_y1 это нижняя правая координата y ограничивающего прямоугольника.

rad_x это x-координата луча, определяющая начало хорды.

rad_y это y-координата луча, определяющая начало хорды.

rad_x1 это x-координата луча, определяющая конец хорды.

rad_y1 это y-координата луча, определяющая конец хорды.

printer_draw_elipse

(unknown)

printer_draw_elipse - рисует эллипс.

Описание

void printer_draw_elipse (resource handle, int ul_x, int ul_y, int lr_x, int lr_y)

Функция рисует эллипс.handle обязан быть правильным дескриптором принтера.

ul_x это верхняя левая x-координата эллипса.

ul_y это верхняя левая y-координата эллипса.

lr_x это нижняя правая x-координата эллипса.

lr_y это нижняя правая y-координата эллипса.

printer_draw_line

(unknown)

printer_draw_line - рисует линию.

Описание

void printer_draw_line (resource printer_handle, int from_x, int from_y, int to_x, int to_y)

Функция просто рисует линию от позиции from_x, from_y до позиции to_x, to_y с использованием выбранного карандаша. printer_handle обязан быть правильным дескриптором принтера.

printer_draw_pie

(unknown)

printer_draw_pie - рисует pie.

Описание

void printer_draw_pie (resource handle, int rec_x, int rec_y, int rec_x1, int rec_y1, int rad1_x, int rad1_y, int rad2_x, int rad2_y)

Функция рисует pie. handle обязан быть правильным дескриптором принтера.

rec_x это верхняя левая x-координата очерчивающего прямоугольника.

rec_y это верхняя левая y-координата очерчивающего прямоугольника.

rec_x1 это нижняя правая x-координата очерчивающего прямоугольника.

rec_y1 это нижняя правая y-координата очерчивающего прямоугольника.

rad1_x это x-координата окончания первого луча.

rad1_y это y-координата окончания первого луча.

rad2_x это x-координата окончания второго луча.

rad2_y это y-координата окончания второго луча.

printer_draw_rectangle

(unknown)

printer_draw_rectangle - рисует прямоугольник.

Описание

void printer_draw_rectangle (resource handle, int ul_x, int ul_y, int lr_x, int lr_y)

Функция рисует прямоугольник.

handle обязан быть правильным дескриптором принтера.

ul_x это верхняя левая x-координата прямоугольника.

ul_y это верхняя левая y-координата прямоугольника.

lr_x это нижняя правая x-координата прямоугольника.

lr_y это нижняя правая y-координата прямоугольника.

printer_draw_roundrect

(unknown)

printer_draw_roundrect - рисует прямоугольник с закруглёнными углами.

Описание

void printer_draw_roundrect (resource handle, int ul_x, int ul_y, int lr_x, int lr_y, int width, int height)

handle обязан быть правильным дескриптором принтера.

ul_x это верхняя левая x-координата прямоугольника.

ul_y это верхняя левая y-координата прямоугольника.

lr_x это нижняя правая x-координата прямоугольника.

lr_y это нижняя правая y-координата прямоугольника.

width это ширина.

height это высота.

printer_draw_text

(unknown)

printer_draw_text - рисует текст.

Описание

void printer_draw_text (resource printer_handle, string text, int x, int y)

Функция рисует text в позиции x, y с использованием выбранного шрифта. printer_handle обязан быть правильным дескриптором принтера.

Пример 1. printer_draw_text()
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);
$font = printer_create_font("Arial",72,48,400,false,false,false,0);
printer_select_font($handle, $font);
printer_draw_text($handle, "test", 10, 10);
printer_delete_font($font);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);

printer_end_doc

(unknown)

printer_end_doc - закрывает документ.

Описание

bool printer_end_doc (resource handle)

Закрывает новый документ в спулере принтера. Документ теперь готов для печати. Пример см. в printer_start_doc(). handle обязан быть правильным дескриптором принтера.

printer_end_page

(unknown)

printer_end_page - закрывает активную страницу.

Описание

bool printer_end_page (resource handle)

Функция закрывает активную страницу активного документа. Пример см. в printer_start_doc(). handle обязан быть правильным дескриптором принтера.

printer_get_option

(unknown)

printer_get_option - запрашивает данные конфигурации принтера.

Описание

mixed printer_get_option (resource handle, string option)

Функция запрашивает настройки конфигурации option. handle обязан быть правильным дескриптором принтера. Посмотрите в printer_set_option() о запрашиваемых установках; дополнительно можно запросить следующие установки:

PRINTER_DEVICENAMEвозвращает devicename принтера.

PRINTER_DRIVERVERSIONвозвращает версию драйвера принтера.

printer_list

(unknown)

printer_list - возвращает массив принтеров, подключённых к серверу.

Описание

array printer_list (int enumtype [, string name [, int level]])

Функция перечисляет доступные принтеры и их возможности. level устанавливает уровень запроса информации. Это может быть 1,2,4 или 5. enumtype обязан быть одной из следующих предопределённых констант:

PRINTER_ENUM_LOCAL: перечисляет локально установленные принтеры.

PRINTER_ENUM_NAME: перечисляет принтер name, может быть сервер, домен или провайдер принтера.

PRINTER_ENUM_SHARED: этот параметр не может использоваться отдельно, к нему применяет OR с другими параметрами, т.е. с PRINTER_ENUM_LOCAL, для определения локальных совместно используемых принтеров.

PRINTER_ENUM_DEFAULT: (только Win9.x) перечисляет принтер по умолчанию.

PRINTER_ENUM_CONNECTIONS: (только WinNT/2000) перечисляет принтеры, с которыми пользователь имеет соединения.

PRINTER_ENUM_NETWORK: (только WinNT/2000) перечисляет сетевые принтеры в компьютерном домене. Верна, только если level равен 1.

PRINTER_ENUM_REMOTE: (только WinNT/2000) перечисляет сетевые принтеры и серверы принтеров в компьютерном домене. Верна, только если level равен 1.

printer_logical_fontheight

(unknown)

printer_logical_fontheight - получает высоту логического шрифта.

Описание

int printer_logical_fontheight (resource handle, int height)

Функция вычисляет высоту height логического шрифта. handle обязан быть правильным дескриптором принтера.

Пример 1. printer_logical_fontheight()

printer_open

(unknown)

printer_open - открывает соединение с принтером.

Описание

mixed printer_open ([string devicename])

Эта функция пытается открыть соединение с принтером devicename и возвращает дескриптор при успехе, FALSE при неудаче.

Если никакой параметр не задан, она пытается открыть соединение с принтером по умолчанию (если он не специфицирован в php.ini как printer.default_printer, php пытается определить его).

printer_open() стартует также контекст устройства.

printer_select_brush

(unknown)

printer_select_brush - выбирает кисть.

Описание

void printer_select_brush (resource printer_handle, resource brush_handle)

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

printer_select_font

(unknown)

printer_select_font - выбирает шрифт.

Описание

void printer_select_font (resource printer_handle, resource font_handle)

Функция выбирает шрифт для прорисовки текста. printer_handle обязан быть правильным дескриптором принтера. font_handle обязан быть правильным дескриптором шрифта.

Пример 1. printer_select_font()
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);
$font = printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50);
printer_select_font($handle, $font);
printer_draw_text($handle, "PHP is simply cool", 40, 40);
printer_delete_font($font);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);

printer_select_pen

(unknown)

printer_select_pen - выбирает карандаш.

Описание

void printer_select_pen (resource printer_handle, resource pen_handle)

Функция выбирает карандаш как активный рисующий объект актуального контекста устройства. Карандаш используется для рисования линий и кривых. Т.е., если вы рисуете одну линию, используется карандаш. Если вы рисуете прямоугольник, карандаш используется для рисования рамки, а кисть - для заполнения фигуры. Если вы не выбрали карандаш перед началом рисования, фигура не будет вычерчена. printer_handle обязан быть правильным дескриптором принтера. pen_handle обязан быть правильным дескриптором карандаша.

printer_set_option

(unknown)

printer_set_option - конфигурирует соединение принтера.

Описание

bool printer_set_option (resource handle, int option, mixed value)

Функция устанавливает нижеуказанные опции текущего соединения. handle обязан быть правильным дескриптором принтера. option может быть одной из следующих констант:

PRINTER_COPIES: устанавливает, сколько копий должно быть напечатано, valueобязано быть integer.

PRINTER_MODE: специфицирует тип данных (text, raw или emf), value обязано быть строкой.

PRINTER_TITLE: специфицирует имя документа, value обязано быть строкой.

PRINTER_ORIENTATION: специфицирует ориентацию бумаги, value может быть PRINTER_ORIENTATION_PORTRAIT или PRINTER_ORIENTATION_LANDSCAPE.

PRINTER_RESOLUTION_Y: специфицирует y-разрешение в DPI, value обязано быть integer.

PRINTER_RESOLUTION_X: специфицирует the x-разрешение в DPI, value обязано быть integer.

PRINTER_PAPER_FORMAT: специфицирует предопределённый формат бумаги; установите value в PRINTER_FORMAT_CUSTOM, если хотите специфицировать особый формат с помощью PRINTER_PAPER_WIDTH и PRINTER_PAPER_LENGTH.
value может быть одной из следующих констант:

PRINTER_FORMAT_CUSTOM: позволяет специфицировать особый формат бумаги.

PRINTER_FORMAT_LETTER: специфицирует стандартный формат letter (8 1/2- на 11-дюймов).

PRINTER_FORMAT_LETTER: специфицирует стандартный формат legal (8 1/2- на 14-дюймов).

PRINTER_FORMAT_A3: специфицирует стандартный формат A3 (297- на 420-миллиметров).

PRINTER_FORMAT_A4: специфицирует стандартный формат A4 (210- на 297-миллиметров).

PRINTER_FORMAT_A5: специфицирует стандартный формат A5 (148- на 210-миллиметров).

PRINTER_FORMAT_B4: специфицирует стандартный формат B4 (250- на 354-миллиметров).

PRINTER_FORMAT_B5: специфицирует стандартный формат B5 (182- на 257-миллиметров).

PRINTER_FORMAT_FOLIO: специфицирует стандартный формат FOLIO (8 1/2- на 13-дюймов).

PRINTER_PAPER_LENGTH: если PRINTER_PAPER_FORMAT установлен PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_LENGTH специфицирует специальную длину бумаги в mm, value обязано быть integer.

PRINTER_PAPER_WIDTH: если PRINTER_PAPER_FORMAT установлен PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_WIDTH специфицирует специальную ширину бумаги в mm, value обязано быть integer.

PRINTER_SCALE: специфицирует фактор, которым масштабируется печатаемый вывод. Размер страницы масштабируется от физического размера страницы на фактор масштабирования/100. Например, если вы установили масштабирование 50, вывод будет в половину оригинального размера. value обязано быть integer.

PRINTER_BACKGROUND_COLOR: специфицирует цвет фона для актуального контекста устройства, value обязано быть строкой, содержащей rgb информацию в 16-ричном формате, например, "005533".

PRINTER_TEXT_COLOR: специфицирует цвет текста для актуального контекста устройства, value обязано быть строкой, содержащей rgb информацию в 16-ричном формате, например, "005533".

PRINTER_TEXT_ALIGN: специфицирует выравнивание текста для актуального контекста устройства, value может комбинироваться, с помощью OR, из следующих констант:

PRINTER_TA_BASELINE: текст будет выровнен по базовой линии.

PRINTER_TA_BOTTOM: текст будет выровнен по низу.

PRINTER_TA_TOP: текст будет выровнен по верху.

PRINTER_TA_CENTER: текст будет выровнен по центру.

PRINTER_TA_LEFT: текст будет выровнен влево.

PRINTER_TA_RIGHT: текст будет выровнен вправо.

printer_start_doc

(unknown)

printer_start_doc - начинает новый документ.

Описание

bool printer_start_doc (resource handle [, string document])

Функция создаёт новый документ в спулере принтера. Документ может иметь несколько страниц. Используется для создания очереди печати в спулере. handle обязан быть правильным дескриптором принтера. Необязательный параметр document можно использовать для установки альтернативного имени документа.

printer_start_page

(unknown)

printer_start_page - начинает новую страницу.

Описание

bool printer_start_page (resource handle)

Функция создаёт новую страницу в активном документе. Пример см. в printer_start_doc(). handle обязан быть правильным дескриптором принтера.

printer_write

(unknown)

printer_write - записывает данные в принтер.

Описание

bool printer_write (resource handle, string content)

Записывает content непосредственно в принтер и возвращает TRUE при успехе, FALSE при неудаче.

handle обязан быть правильным дескриптором принтера.

printf

(PHP 3, PHP 4)

printf - выводит форматированную строку.

Описание

void printf (string format [, mixed args])

Создаёт вывод в соответствии с format, который описан в документации к sprintf().

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

proc_close

(только PHP 4 CVS)

proc_close - закрывает процесс, открытый proc_open, и возвращает exit-код этого процесса.

Описание

int proc_close (resource process)

proc_close() похожа на popen(), но работает только с процессами, открытыми функцией proc_open(). proc_close() ожидает окончания процесса и возвращает его код выхода. Если вы открыли каналы к этому процессу, вы должны fclose() их до вызова этой функции, чтобы исключить мёртвые блокировки/deadlock - дочерний процесс не сможет выйти, пока каналы открыты.

proc_open

(только PHP 4 CVS)

proc_open - выполняет команду и открывает файловый указатель для ввода/вывода.

Описание

resource proc_open (string cmd, array descriptorspec, array pipes)

proc_open() похожа на popen(), но предоставляет больший контроль над выполнением программы. cmd это команда, выполняемая оболочкой. descriptorspec это индексированный массив, в котором ключи представляют номера дескрипторов, а значения представляют то, как PHP передаёт эти дескрипторы в дочерний процесс. pipes будет установлен в индексированный массив файловых указателей, соответствующий концу любых созданных каналов. return-значение является ресурсом представляющим процесс; вы должны освободить его с помощью proc_close() по окончании работы с ним.

pspell_add_to_personal

(PHP 4 >= 4.0.2)

pspell_add_to_personal - добавляет слово в персональный список слов/wordlist.

Описание

int pspell_add_to_personal (int dictionary_link, string word)

pspell_add_to_personal() добавляет слово в personal wordlist. Если вы использовали pspell_new_config() с pspell_config_personal() для открытия словаря, вы можете сохранить wordlist позднее с помощью pspell_save_wordlist(). Пожалуйста, обратите внимание, что эта функция не работает, если у вас нет pspell .11.2 и aspell .32.5 или новее.

pspell_add_to_session

(PHP 4 >= 4.0.2)

pspell_add_to_session - добавляет слово в список слов в текущей сессии.

Описание

int pspell_add_to_session (int dictionary_link, string word)

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

pspell_check

(PHP 4 >= 4.0.2)

pspell_check - проверяет слово.

Описание

bool pspell_check (int dictionary_link, string word)

pspell_check() проверяет правописание слова и возвращает TRUE, если слово правильное, FALSE - если нет.

pspell_clear_session

(PHP 4 >= 4.0.2)

pspell_clear_session - очищает текущую сессию.

Описание

int pspell_clear_session (int dictionary_link)

pspell_clear_session() очищает текущую сессию. Текущий список слов/wordlist очищается, и, если вы, например, пытаетесь сохранить его функцией pspell_save_wordlist(), ничего не происходит.

pspell_config_create

(PHP 4 >= 4.0.2)

pspell_config_create - создаёт config, используемый для открытия словаря.

Описание

int pspell_config_create (string language [, string spelling [, string jargon [, string encoding]]])

pspell_config_create() имеет синтаксис, очень похожий на pspell_new(). Фактически использование pspell_config_create() с последующей pspell_new_config() даст точно тот же результат. Однако после создания нового config вы можете также использовать pspell_config_*() функции до вызова pspell_new_config() для получения преимуществ от некоторой дополнительной функциональности.

Параметр language это код языка - двухбуквенный код ISO 3166 после тире или символа подчёркивания.

Параметр spelling это запрошенная проверка для языков с более чем одной проверкой - таких как English. Известные значения: 'american', 'british' и 'canadian'.

Параметр jargon содержит дополнительную информацию для различения двух различных списков слов, имеющих одинаковые параметры language и spelling.

Параметр encoding это кодировка, в которой, как ожидается, даны слова. Верные значения: 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Это параметр ещё не проверен достаточно широко, поэтому будьте осторожны при его использовании.

Параметр mode это режим работы проверщика правописания. Доступны несколько режимов:

PSPELL_FAST - быстрый режим (меньшее количество вариантов)

PSPELL_NORMAL - нормальный режим (больше вариантов)

PSPELL_BAD_SPELLERS - медленный режим (очень много вариантов)

Дополнительную информацию и примеры см. в учебнике pspell web-сайта: http://aspell.net/.

pspell_config_ignore

(PHP 4 >= 4.0.2)

pspell_config_ignore - игнорируются слова менее N символов длины.

Описание

int pspell_config_ignore (int dictionary_link, int n)

pspell_config_ignore() должна использоваться в config до вызова pspell_new_config(). Эта функция позволяет проверщику правописания пропускать короткие слова. Слова менее n символов не проверяются.

pspell_config_mode

(PHP 4 >= 4.0.2)

pspell_config_mode - изменяет номер режима возвращаемого варианта исправления.

Описание

int pspell_config_mode (int dictionary_link, int mode)

pspell_config_mode() должна использоваться в config до вызова pspell_new_config(). Эта функция определяет, сколько вариантов будет возвращать функция pspell_suggest().

Параметр mode это режим работы проверщика правописания. Доступны режимы:

PSPELL_FAST - быстрый режим (меньше вариантов исправления)

PSPELL_NORMAL - нормальный режим (больше вариантов исправления)

PSPELL_BAD_SPELLERS - медленный режим (много вариантов исправления)

pspell_config_personal

(PHP 4 >= 4.0.2)

pspell_config_personal - устанавливает файл, содержащий персональный список слов/personal wordlist.

Описание

int pspell_config_personal (int dictionary_link, string file)

pspell_config_personal() должна использоваться в config до вызова pspell_new_config(). Персональный wordlist будет загружен и использован в дополнение к стандартному после вызова вами функции pspell_new_config(). Если файл не существует, он будет создан. Это также файл, в котором pspell_save_wordlist() сохраняет персональный wordlist. Файл должен иметь доступ для записи для того, кто запускает php (например, nobody). Отметьте, пожалуйста, что эта функция не работает, если у вас нет pspell .11.2 и aspell .32.5 или новее.

pspell_config_repl

(PHP 4 >= 4.0.2)

pspell_config_repl - устанавливает файл, содержащий замещающие пары.

Описание

int pspell_config_repl (int dictionary_link, string file)

pspell_config_repl() должна использоваться в config до вызова pspell_new_config(). Замещающие пары повышают качество проверщика правописания. Если слово записано неверно, а правильный вариант не найден в списке, можно использовать pspell_store_replacement() для хранения замещающей пары, а pspell_save_wordlist() затем сохраняет список слов/wordlist вместе с замещающими парами. Файл должен иметь доступ для записи для того, кто запускает php (например, nobody). Отметьте, пожалуйста, что эта функция не работает, если у вас нет pspell .11.2 и aspell .32.5 или новее.

pspell_config_runtogether

(PHP 4 >= 4.0.2)

pspell_config_runtogether - предусматривает объединённые слова/run-together words как правильные.

Описание

int pspell_config_runtogether (int dictionary_link, bool flag)

pspell_config_runtogether() должна использоваться в config до вызова pspell_new_config(). Эта функция определяет, рассматриваются ли run-together слова как правильные. То есть, "thecat" будет считаться правильным, хотя между артиклем и слово должен быть пробел. Изменение этой установки влияет только на результаты, возвращаемые функцией pspell_check(); pspell_suggest() будет продолжать возвращать варианты исправления.

pspell_config_save_repl

(PHP 4 >= 4.0.2)

pspell_config_save_repl - определяет, сохранять ли список замещающих пар вместе со списком слов.

Описание

int pspell_config_save_repl (int dictionary_link, bool flag)

pspell_config_save_repl() должна использоваться в config до вызова pspell_new_config(). Определяет, будет ли pspell_save_wordlist() сохранять замещающие пары вместе с wordlist. Обычно эту функцию не нужно использовать, поскольку при использовании pspell_config_repl() замещающие пары будут сохраняться функцией pspell_save_wordlist() в любом случае, и, если её нет, замещающие пары не будут сохраняться. Отметьте, пожалуйста, что эта функция не работает, если у вас нет pspell .11.2 и aspell .32.5 или новее.

pspell_new

(PHP 4 >= 4.0.2)

pspell_new - загружает новый словарь.

Описание

int pspell_new (string language [, string spelling [, string jargon [, string encoding [, int mode]]]])

pspell_new() открывает новый словарь и возвращает идентификатор ссылки словаря для использования другими pspell-функциями.

Параметр language это код языка, состоящий из двухбуквенного кода языка ISO 639 и необязательного двухбуквенного кода страны ISO 3166 после тире или символа подчёркивания.

Параметр spelling это запрашиваемая проверка орфографии языков с более чем одним вариантом правописания, таких как English. Известные значения: 'american', 'british' и 'canadian'.

Параметр jargon содержит дополнительную информацию для различения двух списков слов, имеющих одинаковые параметры language и spelling.

Параметр encoding это кодировка, в которой, как ожидается, слова написаны. Правильные значения: 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Этот параметр недостаточно проверен, поэтому будьте внимательны при его использовании.

Параметр mode это режим работы проверщика орфографии. Доступны режимы:

PSPELL_FAST - быстрый режим (меньше вариантов исправления)

PSPELL_NORMAL - нормальный режим (больше вариантов исправления)

PSPELL_BAD_SPELLERS - медленный режим (много вариантов исправления)

PSPELL_RUN_TOGETHER - рассматривать объединённые слова как правильные. То есть, "thecat" будет правильным, хотя между артиклем и словом должен быть пробел. Изменение этой установки влияет только на результаты функции pspell_check(); pspell_suggest() будет продолжать выдавать варианты исправления.

Mode это битовая маска, сконструированная из различных перечисленных выше констант. Однако PSPELL_FAST, PSPELL_NORMAL и PSPELL_BAD_SPELLERS взаимоисключающи, поэтому вы должны выбирать только одну из них.

Дополнительную информацию и примеры см. в учебнике pspell на web-сайте  http://aspell.net/

pspell_new_config

(PHP 4 >= 4.0.2)

pspell_new_config - загружает новый словарь с установками на основе данного config.

Описание

int pspell_new_config (int config)

pspell_new_config() открывает новый словарь с установками, специфицированными в config, создаёт его с помощью pspell_config_create() и модифицирует с помощью pspell_config_*() функций. Этот метод даёт наибольшую гибкость и имеет всю функциональность pspell_new() и pspell_new_personal().

Параметр config это параметр, возвращённый функцией pspell_config_create() при создании config.

pspell_new_personal

(PHP 4 >= 4.0.2)

pspell_new_personal - загружает новый словарь с персональным списком слов/personal wordlist.

Описание

int pspell_new_personal (string personal, string language [, string spelling [, string jargon [, string encoding [, int mode]]]])

pspell_new_personal() открывает новый словарь с персональным wordlist и возвращает идентификатор ссылки на словарь для использования другими pspell-функциями. Список слов может быть модифицирован и сохранён функцией pspell_save_wordlist(), если необходимо. Однако замещающие пары не сохраняются. Для сохранения замещающих пар вы должны создать config с использованием pspell_config_create(), установить файл персонального списка слов функцией pspell_config_personal(), установить файл для замещающих пар функцией pspell_config_repl() и открыть новый словарь с помощью pspell_new_config().

Параметр personal специфицирует файл, где добавляемые в персональный список слова сохраняются. Это должен быть абсолютный путь к файлу, начинающийся с '/', так как иначе он будет относительным к $HOME, который является "/root" для большинства систем, что, вероятно, не то, что вам нужно.

Параметр language это код языка, состоящий из двухбуквенного кода языка ISO 639 и необязательного двухбуквенного кода страны ISO 3166 после тире или символа подчёркивания.

Параметр spelling это запрашиваемая проверка орфографии языков с более чем одним вариантом правописания, таких как English. Известные значения: 'american', 'british' и 'canadian'.

Параметр jargon содержит дополнительную информацию для различения двух списков слов, имеющих одинаковые параметры language и spelling.

Параметр encoding это кодировка, кpв которой, как ожидается, слова написаны. Правильные значения: 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Этот параметр недостаточно проверен, поэтому будьте внимательны при его использовании

Параметр mode это режим работы проверщика орфографии. Доступны режимы:

PSPELL_FAST - быстрый режим (меньше вариантов исправления)

PSPELL_NORMAL - нормальный режим (больше вариантов исправления)

PSPELL_BAD_SPELLERS - медленный режим (много вариантов исправления)

PSPELL_RUN_TOGETHER - рассматривать объединённые слова как правильные. То есть, "thecat" будет правильным, хотя между артиклем и словом должен быть пробел. Изменение этой установки влияет только на результаты функции pspell_check(); pspell_suggest() будет продолжать выдавать варианты исправления.

Mode это битовая маска, сконструированная из различных перечисленных выше констант. Однако PSPELL_FAST, PSPELL_NORMAL и PSPELL_BAD_SPELLERS взаимоисключающи, поэтому вы должны выбирать только одну из них.

Дополнительную информацию и примеры см. в учебнике pspell на web-сайте  http://aspell.net/

pspell_save_wordlist

(PHP 4 >= 4.0.2)

pspell_save_wordlist - сохраняет персональный список слов в файле.

Описание

int pspell_save_wordlist (int dictionary_link)

pspell_save_wordlist() сохраняет персональный список слов текущей сессии. Словарь должен открываться функцией pspell_new_personal(), а размещение сохраняемых файлов специфицируется функцией pspell_config_personal() и (по выбору) pspell_config_repl(). Отметьте, пожалуйста, что эта функция не будет работать, если у вас нет pspell .11.2 и aspell .32.5 или новее.

pspell_store_replacement

(PHP 4 >= 4.0.2)

pspell_store_replacement - сохраняет замещающую пару для слова.

Описание

int pspell_store_replacement (int dictionary_link, string misspelled, string correct)

pspell_store_replacement() сохраняет замещающую пару для слова, поэтому замещение может быть возвращено в дальнейшем функцией pspell_suggest(). Чтобы использовать преимущества этой функции, вы должны открывать словарь функцией pspell_new_personal(). Чтобы постоянно сохранить замещающую пару, вы должны использовать pspell_config_personal() и pspell_config_repl() для установки пути для сохранения ваших специализированных списков слов, а затем использовать pspell_save_wordlist() для записи изменений на диск. Отметьте, пожалуйста, что эта функция не будет работать, если у вас нет pspell .11.2 и aspell .32.5 или новее.

pspell_suggest

(PHP 4 >= 4.0.2)

pspell_suggest - предлагает вариант исправления слова.

Описание

array pspell_suggest (int dictionary_link, string word)

pspell_suggest() возвращает массив возможных вариантов исправления слова.

putenv

(PHP 3, PHP 4)

putenv - устанавливает значение переменной окружения.

Описание

void putenv (string setting)

Добавляет setting в окружение сервера. Переменная окружения существует только в период существования текущего запроса. В конце запроса окружение восстанавливается в оригинальное состояние.

Установка некоторых переменных окружения может, потенциально, пробить брешь в защите. Директива safe_mode_allowed_env_vars содержит список префиксов с разделением запятыми. В Safe Mode пользователь может изменять только те переменные окружения, имена которых начинаются с префиксов, предоставляемых этой директивой. По умолчанию пользователи могут устанавливать только переменные окружения, начинающиеся с PHP_ (например, PHP_FOO=BAR).

Примечание: если это пустая директива, PHP позволит пользователю модифицировать ЛЮБУЮ переменную окружения!

Директива safe_mode_protected_env_vars содержит список переменных окружения с разделением запятыми, который пользователь не может изменять с помощью putenv(). Эти переменные будут защищены, даже если safe_mode_allowed_env_vars разрешает их изменять.

Предупреждение!Эти директивы работают только тогда, когда режим safe-mode включён!

qdom_error

(PHP 4 >= 4.0.5)

qdom_error - возвращает строку ошибки последней операции QDOM или FALSE, если ошибок не было.

Описание

string qdom_error (void)

Предупреждение!Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск. Предупреждение!Эта функция в настоящее время ещё не задокументирована; имеется только список аргументов.

qdom_tree

(PHP 4 >= 4.0.4)

qdom_tree - создаёт дерево xml-строки.

Описание

object qdom_tree (string)

Предупреждение!Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск. Предупреждение!Эта функция в настоящее время ещё не задокументирована; имеется только список аргументов.

quoted_printable_decode

(PHP 3>= 3.0.6, PHP 4)

quoted_printable_decode - конвертирует закавыченную печатаемую строку в 8-битную строку.

Описание

string quoted_printable_decode (string str)

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

quotemeta

(PHP 3, PHP 4)

quotemeta - закавычивает метасимволы.

Описание

string quotemeta (string str)

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

rad2deg

(PHP 3>= 3.0.4, PHP 4)

rad2deg - конвертирует количество радиан в эквивалентное количество градусов.

Описание

float rad2deg (float number)

Эта функция конвертирует number из радиан в градусы.

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

rand

(PHP 3, PHP 4)

rand - генерирует случайное значение.

Описание

int rand ([int min, int max])

Если вызывается без необязательных аргументов min, max, функция rand() возвращает псевдослучайное число в диапазоне от 0 до RAND_MAX. Если вам, к примеру, необходимо случайное число в диапазоне от 5 до 15 (включительно), используйте rand (5, 15).

В старых версиях PHP вы должны были посеять генератор случайных чисел до использования с srand(). Начиная с 4.2.0, этого уже не нужно делать.

Примечание: в версиях до 3.0.7 значением max было range. Для получения тех же результатов в этих версиях пример будет rand (5, 11) для получения произвольного числа в диапазоне от 5 до 15.

См. также srand(), getrandmax() и mt_rand().

range

(PHP 3>= 3.0.8, PHP 4)

range - создаёт массив, содержащий диапазон элементов.

Описание

array range (mixed low, mixed high)

range() возвращает массив элементов от low до high включительно. Если low > high, последовательность будет от high до low.

rawurldecode

(PHP 3, PHP 4)

rawurldecode - декодирует URL-кодированные строки.

Описание

string rawurldecode (string str)

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

rawurlencode

(PHP 3, PHP 4)

rawurlencode - URL-кодирование в соответствии с RFC1738.

Описание

string rawurlencode (string str)

Возвращает строку, в которой неалфавитно-числовые символы, кроме

-_.

заменены на знак процента (%) с последующими двумя 16-ричными цифрами. Это кодирование, описанное в RFC1738, защищает литеральные символы от интерпретации в качестве специальных разграничителей URL и защищает URL'ы от изменения при передаче с конвертацией символов (как в некоторых email-системах). Например, если вы хотите включить пароль в FTP URL:

read_exif_data

(PHP 4 >= 4.0.1)

read_exif_data - читает header-инфомацию, хранимую в изображениях TIFF и JPEG.

Описание

array exif_read_data (string filename, string sections, bool arrays, bool thumbnail)

Примечание: функция read_exif_data() это псевдоним для exif_read_data().

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

readdir

(PHP 3, PHP 4)

readdir - читает вхождение из дескриптора директории.

Описание

string readdir (resource dir_handle)

Возвращает filename следующего файла из данной директории. Имена файлов возвращаются в порядке, в котором они хранятся в файловой системе.

Обратите внимание на способ, которым return -значение функции readdir() проверяется в следующем примере. Мы явным образом проверяем, идентично ли return-значение (равно и того же типа, что и  --  см. Операции сравнения) FALSE, поскольку иначе любое вхождение директории, имя которого вычисляется в FALSE, остановит цикл.

readfile

(PHP 3, PHP 4)

readfile - выводит файл.

Описание

int readfile (string filename [, int use_include_path])

Читает файл и записывает его в стандартный вывод.

Возвращает количество байт, прочитанных из файла. Если возникает ошибка, возвращается FALSE, если только функция не была вызвана @readfile, и выводится сообщение об ошибке.

Если filename начинается с "http://" (без учёта регистра), открывается соединение HTTP 1.0 со специфицированным сервером, а текст ответа записывается в стандартный вывод.

Версии до PHP 4.0.5 не обрабатывают HTTP-перенаправления. Поэтому директории обязаны включать ведомые слэши.

Если filename начинается с "ftp://" (без учёта регистра), открывается ftp-соединение со специфицированным сервером и запрошенный файл записывается в стандартный вывод. Если сервер не поддерживает passive mode ftp, это терпит неудачу.

Если filename не начинается с одной из этих строк, файл открывается из файловой системы и его содержимое записывается в стандартный вывод.

Вы можете использовать необязательный второй параметр и установить его "1", если хотите искать файл также в include_path.

См. также fpassthru(), file(), fopen(), include(), require() и virtual().

readgzfile

(PHP 3, PHP 4)

readgzfile - выводит gz-файл.

Описание

int readgzfile (string filename [, int use_include_path])

Читает файл, распаковывает его и записывает в стандартный вывод.

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

Возвращает количество (неупакованных) байтов из файла. Если возникает ошибка, возвращается FALSE и, если функция не была вызвана @readgzfile, печатается сообщение об ошибке.

Файл filename будет открыт из файловой системы и его содержимое будет записано в стандартный вывод.

Вы можете использовать необязательный второй параметр и установить его "1", если хотите также искать файл в include_path.

См. также gzpassthru(), gzfile() и gzopen().

readline

(PHP 4)

readline - читает строчку.

Описание

string readline ([string prompt])

Эта функция возвращает одиночную строчку от пользователя. Вы можете специфицировать строку, в которой запрашиваете пользователя. Возвращаемая строчка имеет удалённый символ newline. Вы обязаны добавить эту строчку к history самостоятельно с помощью readline_add_history().

Пример 1. readline()
//получить 3 команды от пользователя
for ($i=0; $i < 3; $i++) {
$line = readline ("Command: ");
readline_add_history ($line);
}
//дамп истории
print_r (readline_list_history());
//дамп переменных
print_r (readline_info());

readline_add_history

(PHP 4)

readline_add_history - добавляет строчку в history.

Описание

void readline_add_history (string line)

Эта функция добавляет строчку в историю командной строки.

readline_clear_history

(PHP 4)

readline_clear_history - очищает историю.

Описание

bool readline_clear_history (void)

Эта функция очищает всю историю командной строки.

readline_completion_function

(PHP 4)

readline_completion_function - регистрирует функцию завершения.

Описание

bool readline_completion_function (string line)

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

readline_info

(PHP 4)

readline_info - получает/устанавливает различные внутренние readline-переменные.

Описание

mixed readline_info ([string varname [, string newvalue]])

Если вызывается без параметров, возвращает массив значений для всех установок, используемых в readline. Элементы индексируются следующими значениями: done, end, erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt, readline_name и terminal_name.

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

readline_list_history

(PHP 4)

readline_list_history - список истории.

Описание

array readline_list_history (void)

Эта функция даёт массив всей истории командной строки. Элементы индексируются целыми числами, начиная с нуля.

readline_read_history

(PHP 4)

readline_read_history - читает историю.

Описание

bool readline_read_history (string filename)

Эта функция читает историю командной строки из файла.

readline_write_history

(PHP 4)

readline_write_history - записывает историю.

Описание

bool readline_write_history (string filename)

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

readlink

(PHP 3, PHP 4)

readlink - возвращает цель/target символьной ссылки.

Описание

string readlink (string path)

readlink() делает то же самое, что С-функция readlink, и возвращает содержимое пути символьной ссылки, или 0 в случае ошибки.

См. также is_link(), symlink() и linkinfo().

Примечание: эта функция не реализована для платформ Windows.

realpath

(PHP 4)

realpath - возвращает канонизированное имя абсолютного пути/pathname.

Описание

string realpath (string path)

realpath() разворачивает символьные ссылки, разрешает ссылки на  '/./', '/../' и дополнительные символы '/' в path ввода и возвращает канонизированное absolute pathname. Результирующий путь не будет содержать символьных ссылок, компонентов '/./' или '/../'.

realpath() возвращает FALSE при неудаче, например, если файл не существует.

recode

(PHP 4)

recode - перекодирует строку в соответствии с recode-запросом.

Описание

string recode (string request, string string)

Примечание: это псевдоним recode_string(). Он был введён в PHP 4.

recode_file

(PHP 3>= 3.0.13, PHP 4)

recode_file - перекодирует из файла в файл в соответствии с recode-запросом.

Описание

bool recode_file (string request, resource input, resource output)

Перекодирует файл, на который ссылается дескриптор input, в файл, на который ссылается дескриптор output, в соответствии с запросом request на перекодирование. Возвращает FALSE, если не может выполнить, иначе TRUE.

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

recode_string

(PHP 3>= 3.0.13, PHP 4)

recode_string - перекодирует строку в соответствии с recode-запросом.

Описание

string recode_string (string request, string string)

Перекодирует строку string в соответствии с запросом request на перекодирование. Возвращает перекодированную строку, или FALSE, если не может выполнить recode-запрос.

Простейшим запросом на перекодирование может быть "lat1..iso646-de". См. также в документации GNU Recode вашей инсталяции детальные инструкции о recode-запросах.

I. Функции, специфичные для Apache

Эти функции доступны только при запуске РНР как Apache-модуля.

Содержание
apache_child_terminate - прерывает процесс Аpache после данного запроса
apache_lookup_uri - выполняет частичный запрос по специфицированному URI и возвращает всю информацию о нём
apache_note - получает и устанавливает примечания Аpache-запроса/request notes
apache_setenv - устанавливает переменную Apache subprocess_env
ascii2ebcdic - транслирует строку из ASCII в EBCDIC
ebcdic2ascii - транслирует строку из EBCDIC в ASCII
getallheaders - извлекает все шапки/headers HTTP-запроса
virtual - выполняет подзапрос Apache

II. Функции массива


Введение

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

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

См. в разделе Массивы этого учебника детальное разъяснение реализации и использования массивов в PHP.


Требования

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


Инсталяция

Для использования этих функций нет специальных требований по установке; функции являются частью ядра языка.


Конфигурация времени выполнения

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

Это расширение не определяет никаких типов ресурсов.


Предопределённые константы

CASE_UPPER и CASE_LOWER используются с функцией array_change_key_case(). Они, соответственно, используются для перевода строки в верхний или нижний регистр.


См. также

is_array(), explode(), implode(), split() и join().

Содержание
array_change_key_case — возвращает массив со всеми строковыми ключами в нижнем или в верхнем регистре
array_chunk - делит массив на отрезки
array_count_values - возвращает количество значений в массиве
array_diff - вычисляет разницу между массивами
array_fill - заполняет массив значениями
array_filter - фильтрует элементы массива с использованием callback-функции
array_flip - меняет местами ключи и значения массива
array_intersect - вычисляет пересечение массивов
array_key_exists - проверяет, существует ли данный ключ или индекс в массиве
array_keys - возвращает все ключи массива
array_map - применяет обратный вызов/callback к элементам данного массива
array_merge_recursive - рекурсивно объединяет два или более массива
array_merge - объединяет два или более массивов
array_multisort - сортирует несколько (или многомерные) массивов
array_pad - заполняет массив значением на специфицированную длину
array_pop - выталкивает элемент в конце массива
array_push - вставляет один или более элементов в конец массива
array_rand - извлекает одно или несколько произвольных вхождений из массива
array_reduce - итерирует по массиву и уменьшает его на единственное значение, используя callback-функцию
array_reverse - возвращает массив с элементами в обратном порядке
array_search - ищет в массиве данное значение и возвращает соответствующий ключ при успехе
array_shift - сдвигает элемент за пределы начала массива
array_slice - извлекает отрезок массива
array_splice - удаляет часть массива и заменяет её чем-нибудь
array_sum - высчитывает сумму значений массива
array_unique - удаляет дублирующие значения из массива
array_unshift - присоединяет один или более элементов в начало массива
array_values - возвращает все значения массива
array_walk - применяет пользовательскую функцию к каждому члену массива
array - создаёт массив
arsort - сортирует массив в реверсном порядке и обслуживает ассоциацию индексов
asort - сортирует массив и обслуживает ассоциацию индексов
compact - создаёт массив из переменных и их значений
count - подсчитывает элементы в переменной
current - возвращает текущий элемент массива
each - возвращает текущую пару key/value из массива и передвигает курсор массива
end - устанавливает внутренний указатель массива на последний элемент
extract - импортирует переменные из массива в текущую таблицу символов
in_array - возвращает TRUE, если значение существует в массиве
key - извлекает a ключ/key из ассоциативного массива
krsort - сортирует массив по ключам в реверсном порядке
ksort - сортирует массив по ключам
list - присваивает переменные, как если бы они были массивами
natcasesort - сортирует массив с использованием алгоритма, без учёта регистра в "естественном порядке"
natsort - сортирует массив с использованием алгоритма "в естественном порядке"
next - передвигает вперёд внутренний указатель массива
pos - получает текущий элемент массива
prev - возвращает в начало внутренний указатель массива
range - создаёт массив, содержащий диапазон элементов
reset - устанавливает внутренний указатель массива на первый элемент
rsort - сортирует в реверсном порядке
shuffle - перемешивает массив
sizeof - получает количество элементов в переменной
sort - сортирует массив
uasort - сортирует массив с использованием пользовательской функции сравнения и обслуживает ассоциацию индексов
uksort - сортирует массив по ключам, используя пользовательскую функцию сравнения
usort - сортирует массив по значениям, используя пользовательскую функцию сравнения

III. Функции Aspell [не рекомендуется применять]


Введение

Функции aspell() дают вам возможность проверять правильность написания слова и предлагают варианты исправления.


Требования

Аspell работает только с очень старыми (до .27.* или около того) версиями библиотеки aspell. Ни этот модуль, ни другие версии aspell-библиотеки больше не поддерживаются. Если вы хотите использовать проверку правописания в РНР, используйте pspell. Там используется библиотека pspell и не ведётся работа с использованием aspell.


Инсталяция

Вам необходима библиотека aspell, доступная с: http://aspell.sourceforge.net/


См. также

pspell.

Содержание
aspell_check_raw - проверяет слово без изменения регистра и попыток исправления [не рекомендуется применять]
aspell_check - проверяет слово [не рекомендуется применять]
aspell_new - загружает новый словарь [не рекомендуется применять]
aspell_suggest - предлагает варианты слова [не рекомендуется применять]

IV. Математические функции BCMath
произвольной точности


Введение

Для математики произвольной точности PHP предлагает Binary Calculator/Бинарный калькулятор, который поддерживает числа любого размера и точности, представленные в виде строк.


Требования

Начиная с PHP 4.0.4, libbcmath связана с PHP. Вам не понадобятся внешние библиотеки для работы этого расширения.


Инсталяция

В PHP 4 эти функции доступны только в том случае, если PHP был сконфигурирован с
--enable-bcmath. В PHP 3 эти функции доступны только в том случае, если PHP не был сконфигурирован с --disable-bcmath.


Конфигурация времени выполнения

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

Это расширение не определяет никаких типов ресурсов.


Предопределённые константы

Это расширение не определяет никаких констант.

Содержание
bcadd - складывает два числа произвольной точности
bccomp - сравнивает два числа произвольной точности
bcdiv - делит два числа произвольной точности
bcmod - получает modulus числа произвольной точности
bcmul - перемножает два числа произвольной точности
bcpow - возводит одно число произвольной точности в (степень) другое
bcscale - устанавливает параметр масштабирования для всех функций bc math
bcsqrt - получает квадратный корень числа произвольной точности
bcsub - вычитает одно число произвольной точности из другого

V. Функции Bzip2-компрессии


Введение

Функции компрессии bzip2 используются для прозрачного чтения и записи сжатых файлов bzip2 (.bz2).


Требования

Этот модуль использует функции библиотеки bzip2, которую создал Julian Seward.


Инсталяция

Поддержка bzip2 в PHP по умолчанию не включена. Вам необходимо использовать опцию конфигурации --with-bz2 при компиляции PHP, чтобы включить поддержку bzip2. Этот модуль требует bzip2/libbzip2 версии >= 1.0.x.


Конфигурация времени выполнения

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

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


Предопределённые константы

Это расширение не определяет никаких констант.


Примеры

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

VI. Функции календаря


Введение

Расширение calendar представляет серию функций для упрощения конвертации различных календарных форматов. В основе лежит стандарт Julian Day Count/Юлианское летосчисление. Julian Day Count считает дни, начиная с 1 января 4713 до н.э.
Для конвертации между календарными системами вы обязаны сначала конвертировать дату в Julian Day Count, а затем в календарную систему по вашему выбору. Julian Day Count значительно отличается от юлианского календаря! Для получения дополнительной информации о Julian Day Count посетите сайт http://serendipity.magnet.ch/hermetic/cal_stud/jdn.htm. О календарных системах см. http://genealogy.org/~scottlee/cal-overview.html. Выдержки с этих страниц включены в данные инструкции и заключены в кавычки.


Инсталяция

Чтобы эти функции работали, вы должны скомпилировать PHP с опцией --enable-calendar.


Конфигурация времени выполнения

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

Это расширение не определяет никаких типов ресурсов.


Предопределённые константы

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

CAL_GREGORIAN (integer)
CAL_JULIAN (integer)
CAL_JEWISH (integer)
CAL_FRENCH (integer)
CAL_NUM_CALS (integer)
CAL_DOW_DAYNO (integer)
CAL_DOW_SHORT (integer)
CAL_DOW_LONG (integer)
CAL_MONTH_GREGORIAN_SHORT (integer)
CAL_MONTH_GREGORIAN_LONG (integer)
CAL_MONTH_JULIAN_SHORT (integer)
CAL_MONTH_JULIAN_LONG (integer)
CAL_MONTH_JEWISH (integer)
CAL_MONTH_FRENCH (integer)

Следующие константы доступны, начиная с PHP 4.3.0 :

CAL_EASTER_DEFAULT (integer)
CAL_EASTER_ROMAN (integer)
CAL_EASTER_ALWAYS_GREGORIAN (integer)
CAL_EASTER_ALWAYS_JULIAN (integer)
Содержание
cal_days_in_month - возвращает количество дней в месяце для данного года и календаря
cal_from_jd - конвертирует из Julian Day Count в поддерживаемый календарь и возвращает расширенную информацию
cal_info - возвращает информацию об определённом календаре
cal_to_jd - конвертирует из поддерживаемого календаря в Julian Day Count
easter_date - получает UNIX timestamp для полуночи Easter данного года
easter_days - получает количество дней после 21 марта до дня, на который выпадает Easter, для данного года
FrenchToJD - конвертирует дату из French Republican Calendar в Julian Day Count
GregorianToJD - конвертирует Григорианскую дату в Julian Day Count
JDDayOfWeek - возвращает день недели
JDMonthName - возвращает название месяца
JDToFrench - конвертирует Julian Day Count во French Republican Calendar
JDToGregorian - конвертирует Julian Day Count в Григорианскую дату
JDToJewish - конвертирует Julian Day Count в Еврейский календарь
JDToJulian - конвертирует Julian Day Count в дату Юлианского календаря
jdtounix - конвертирует Julian Day Count в UNIX timestamp
JewishToJD - конвертирует дату Еврейского календаря в Julian Day Count
JulianToJD - конвертирует дату Julian Calendar в Julian Day Count
unixtojd - конвертирует UNIX timestamp в Julian Day Count

VII. Функции CCVS API


Введение

Эти функции интерфейса CCVS API дают возможность работать напрямую с CCVS из ваших PHP-скриптов. CCVS это RedHat-решение для "middle-man" в процессинге кредитных карт. Оно позволяет вам непосредственно адресовать клиринговые дома кредитных карт с помощью вашего *nix box и модема. Используя CCVS-модуль для PHP, вы можете работать с кредитными картами напрямую через CCVS в ваших PHP-скриптах. Далее этот процесс будет рассмотрен.

Примечание: CCVS больше не разрабатывается Red Hat, и отсутствуют планы выпуска новых ключей и поддержки контрактов. Желающие могут рассмотреть в качестве возможной замены MCVE фирмы Main Street Softworks. Эта система похожа по дизайну и имеет задокументированную поддержку PHP!


Установка

Чтобы включить поддержку CCVS в PHP, проверьте сначала директорию вашей инсталяции CCVS. Затем вам нужно будет сконфигурировать PHP с опцией --with-ccvs. Если вы используете эту опцию без специфицирования пути к вашей инсталяции CCVS, PHP попытается искать в директории по умолчанию для установки CCVS (/usr/local/ccvs). Если CCVS находится в нестандартном месте, запустите configure с опцией --with-ccvs=$ccvs_path, где $ccvs_path это путь к вашей инсталяции CCVS. Обратите внимание, что поддержка CCVS требует, чтобы существовали $ccvs_path/lib и $ccvs_path/include, а также включите cv_api.под include-директорией и libccvs.a под lib-директорией.

Кроме того, процесс ccvsd должен запускаться в конфигурации, которую вы предполагаете использовать в своих скриптах PHP. Необходимо также обеспечить запуск PHP-процессов под тем же логином/user, что и при инсталяции CCVS (например, если вы установили CCVS как пользователь 'ccvs', ваши PHP-процессы обязаны также работать под 'ccvs'.)


См. также

Дополнительную информацию о CCVS можно найти в http://www.redhat.com/products/ccvs. RedHat обслуживает несколько устаревшую, но всё же полезную документацию по адресу http://www.redhat.com/products/ccvs/support/CCVS3.3docs/ProgPHP.html.

Содержание
ccvs_add - добавляет данные в транзакцию
ccvs_auth - выполняет проверку авторизации кредита в транзакции
ccvs_command - выполняет команду, которая специфична для данного протокола, и, следовательно, недоступна в общем CCVS API
ccvs_count - определяет, сколько транзакций данного типа хранится в системе
ccvs_delete - удаляет транзакцию
ccvs_done - прерывает работу CCVS-машины и выполняет зачистку
ccvs_init - инициализирует CCVS
ccvs_lookup - находит элемент определённого типа в database #
ccvs_new - создаёт новую пустую транзакцию
ccvs_report - возвращает статус фонового процесса коммуникации
ccvs_return - переводит фонды от продавца владельцу кредитной карты
ccvs_reverse - выполняет полную отмену уже проведённой авторизации
ccvs_sale - переводит фонды от владельца кредитной карты продавцу
ccvs_status - проверяет статус накладной
ccvs_textvalue - получает текстовое return-значение предыдущего вызова функции
ccvs_void - выполняет полный откат завершённой транзакции

IX. Функции класса/объекта


Введение

Эти функции позволяют получать информацию о классах и инстанциировать (создавать экземпляры) объекты. Вы можете получить имя класса, к которому принадлежит объект, а также свойства и методы члена класса. Используя эти функции, вы можете определить не только членство объекта в классе, но и наследование (т.е. - какой класс расширяется классом объекта).


Примеры

В первом примере мы сначала определяем базовый класс и расширение этого класса. Базовый класс описывает овощ/vegetable в целом: съедобен ли он и какого цвета. Подкласс Spinach добавляет метод для приготовления его и метод для определения, готов ли он.

VIII. Функции поддержки COM для Windows


Введение

COM это технология, позволяющая использовать код, написанный на любом языке (любым языком) с помощью стандартных соглашений вызова, и скрывающая позади API детали реализации, такие как: на какой машине хранится Компонент и исполняющий его файл. Можно представлять это как супермеханизм Remote Procedure Call (RPC) с некоторыми базовыми объектами. При этом реализация отделена от интерфейса.

COM поощряет отслеживание версий, отделение реализации от интерфейса и скрытие таких деталей реализации, как местоположение исполняемого файла и язык, на котором он написан.

COM-функции доступны только в Windows-версии PHP.


Предопределённые константы

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

CLSCTX_INPROC_SERVER (integer)
CLSCTX_INPROC_HANDLER (integer)
CLSCTX_LOCAL_SERVER (integer)
CLSCTX_REMOTE_SERVER (integer)
CLSCTX_SERVER (integer)
CLSCTX_ALL (integer)
VT_NULL (integer)
VT_EMPTY (integer)
VT_UI1 (integer)
VT_I2 (integer)
VT_I4 (integer)
VT_R4 (integer)
VT_R8 (integer)
VT_BOOL (integer)
VT_ERROR (integer)
VT_CY (integer)
VT_DATE (integer)
VT_BSTR (integer)
VT_DECIMAL (integer)
VT_UNKNOWN (integer)
VT_DISPATCH (integer)
VT_VARIANT (integer)
VT_I1 (integer)
VT_UI2 (integer)
VT_UI4 (integer)
VT_INT (integer)
VT_UINT (integer)
VT_ARRAY (integer)
VT_BYREF (integer)
CP_ACP (integer)
CP_MACCP (integer)
CP_OEMCP (integer)
CP_UTF7 (integer)
CP_UTF8 (integer)
CP_SYMBOL (integer)
CP_THREAD_ACP (integer)

См также

Дополнительно о COM прочтите COM-спецификацию или Yet Another COM Library (YACL) Don'а Box'а.

Содержание
COM - класс COM
VARIANT - класс VARIANT
com_addref - увеличивает счётчик ссылок компонентов
com_get - получает значение свойства COM-компонента
com_invoke - вызывает метод COM-компонента
com_isenum - "выгребает" IEnumVariant
com_load_typelib - загружает Typelib
com_load - создаёт новую ссылку на COM-компонент
com_propget - получает значение свойства COM-компонента
com_propput — присваивает значение свойству COM-компонента
com_propset — присваивает значение свойству COM-компонента
com_release - уменьшает счётчик ссылок компонентов
com_set - присваивает значение свойству COM-компонента

X. Функции ClibPDF


Введение

Библиотека ClibPDF даёт возможность создавать PDF-документы с помощью PHP. Её можно загрузить с FastIO, но необходимо приобрести лицензию для коммерческого использования. Функциональность и API ClibPDF аналогичны PDFlib.

Этот документ необходимо читать вместе с учебником ClibPDF, поскольку там библиотека рассматривается более детально.

Многие функции в модулях ClibPDF и PHP, а также в PDFlib, называются одинаково. Все функции, за исключением cpdf_open(), принимают в качестве первого параметра дескриптор документа.

В настоящее время этот дескриптор не используется внутренне, поскольку ClibPDF не поддерживает одновременное создание нескольких PDF-документов. И даже не пытайтесь сделать это - результат будет непредсказуем. Невозможно предсказать, какие последствия этого могут быть во многопоточной среде. По соглашению с автором ClibPDF мы изменим это в одном из последующих релизов (на момент написания имелась версия 1.10). Если вам нужна эта функциональность, используйте модуль pdflib.

Прекрасной возможностью ClibPDF (и PDFlib) является способность создавать pdf-документ полностью в памяти без использования временных файлов. Имеется также возможность передавать координаты в предопределённых единицах измерения. (Эта возможность симулируется также функцией pdf_translate() при использовании PDFlib -функций.)

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

Большинство функций использовать довольно легко. Возможно, самое сложное - это создание самого простого PDF-документа. Следующий пример должен помочь вам начать. Он создаёт документ из одной страницы. Эта страница содержит текст "Times-Roman", выведенный шрифтом в 30pt. Текст подчёркнут.


Предопределённые константы

Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.

CPDF_PM_NONE (integer)
CPDF_PM_OUTLINES (integer)
CPDF_PM_THUMBS (integer)
CPDF_PM_FULLSCREEN (integer)
CPDF_PL_SINGLE (integer)
CPDF_PL_1COLUMN (integer)
CPDF_PL_2LCOLUMN (integer)
CPDF_PL_2RCOLUMN (integer)

Примеры

XI. Функции Crack


Введение

Эти функции позволяют использовать библиотеку CrackLib для проверки 'строгости' пароля. 'Строгость' пароля проверяется проверкой длины, использованием верхнего и нижнего регистров символов и проверкой относительно специфицированного CrackLib-словаря/dictionary. CrackLib выдаёт также полные диагностические сообщения, помогающие 'усложнить' пароль.


Требования

Информацию о CrackLib и саму библиотеку можно найти в http://www.users.dircon.co.uk/~crypto/


Установка

Чтобы использовать эти функции, вы обязаны компилировать PHP с поддержкой Crack путём использования опции --with-crack[=DIR].


Конфигурация этапа выполнения

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

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


Предопределённые константы

Это расширение не определяет никаких констант.


Примеры

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

XVI. Функции типов символов


Введение

Функции, предоставляемые этим расширением, проверяют, попадает ли данный символ или строка в определённый класс в соответствии с текущими локальными установками/locale (см. также setlocale()).

При вызове с целочисленным аргументом эти функции ведут себя точно так же, как их С-аналоги из "ctype.h".

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

Передача чего-нибудь другого, кроме строки или integer, немедленно возвратит FALSE.


Требования

Ничего помимо функций из стандартной С-библиотеки, которая всегда доступна.


Установка

Начиная с PHP 4.2.0, эти функции доступны по умолчанию. Для более старых версий вы должны сконфигурировать и откомпилировать PHP с опцией --enable-ctype.


Конфигурация

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

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


Предопределённые константы

Это расширение не определяет никаких констант.

Содержание
ctype_alnum - проверяет алфавитно-цифровые символ(ы)
ctype_alpha - проверяет алфавитные символ(ы)
ctype_cntrl - проверяет управляющие символ(ы)
ctype_digit - проверяет цифровые символ(ы)
ctype_graph - проверяет печатаемые символ(ы), кроме space
ctype_lower - проверяет символ(ы) в нижнем регистре
ctype_print - проверяет печатаемые символ(ы)
ctype_punct - проверяет любые печатаемые символы, кроме пробельных и алфавитно-числовых
ctype_space - проверяет пробельные символ(ы)
ctype_upper - проверяет символ(ы) в верхнем регистре
ctype_xdigit - проверяет символ(ы), представляющие 16-ричные числа

XII. Функции CURL, Client URL Library


Введение

PHP поддерживает libcurl, библиотеку, созданную Daniel'ом Stenberg'ом, которая даёт возможность соединяться с серверами различных типов и по разным протоколам.
libcurl в настоящее время поддерживает протоколы http, https, ftp, gopher, telnet, dict, file и ldap.
libcurl также поддерживает сертификаты HTTPS, HTTP POST, HTTP PUT, загрузку по FTP (это можно сделать также РНР-расширением ftp), загрузку на основе форм HTTP, прокси, куки и аутентификацию user+password.

Эти функции были введены в PHP 4.0.2.


Требования

Чтобы использовать функции CURL, вам нужно установить пакет CURL. PHP требует, чтобы вы использовали CURL 7.0.2-beta или выше. PHP не будет работать с любой версией CURL ниже 7.0.2-beta.


Установка

Для использования РНР-поддержки CURL вы обязаны также скомпилировать PHP --with-curl[=DIR], где DIR это местоположение директории, содержащей директории lib и include. В "include"-директории должна быть папка "curl", которая должна содержать файлы easy.h и curl.h files. Файл "libcurl.a" должен находиться в директории "lib".


Предопределённые константы

Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.

CURLOPT_PORT (integer)
CURLOPT_FILE (integer)
CURLOPT_INFILE (integer)
CURLOPT_INFILESIZE (integer)
CURLOPT_URL (integer)
CURLOPT_PROXY (integer)
CURLOPT_VERBOSE (integer)
CURLOPT_HEADER (integer)
CURLOPT_HTTPHEADER (integer)
CURLOPT_NOPROGRESS (integer)
CURLOPT_NOBODY (integer)
CURLOPT_FAILONERROR (integer)
CURLOPT_UPLOAD (integer)
CURLOPT_POST (integer)
CURLOPT_FTPLISTONLY (integer)
CURLOPT_FTPAPPEND (integer)
CURLOPT_NETRC (integer)
CURLOPT_FOLLOWLOCATION (integer)
CURLOPT_FTPASCII (integer)
CURLOPT_PUT (integer)
CURLOPT_MUTE (integer)
CURLOPT_USERPWD (integer)
CURLOPT_PROXYUSERPWD (integer)
CURLOPT_RANGE (integer)
CURLOPT_TIMEOUT (integer)
CURLOPT_POSTFIELDS (integer)
CURLOPT_REFERER (integer)
CURLOPT_USERAGENT (integer)
CURLOPT_FTPPORT (integer)
CURLOPT_LOW_SPEED_LIMIT (integer)
CURLOPT_LOW_SPEED_TIME (integer)
CURLOPT_RESUME_FROM (integer)
CURLOPT_COOKIE (integer)
CURLOPT_SSLCERT (integer)
CURLOPT_SSLCERTPASSWD (integer)
CURLOPT_WRITEHEADER (integer)
CURLOPT_SSL_VERIFYHOST (integer)
CURLOPT_COOKIEFILE (integer)
CURLOPT_SSLVERSION (integer)
CURLOPT_TIMECONDITION (integer)
CURLOPT_TIMEVALUE (integer)
CURLOPT_CUSTOMREQUEST (integer)
CURLOPT_STDERR (integer)
CURLOPT_TRANSFERTEXT (integer)
CURLOPT_RETURNTRANSFER (integer)
CURLOPT_QUOTE (integer)
CURLOPT_POSTQUOTE (integer)
CURLOPT_INTERFACE (integer)
CURLOPT_KRB4LEVEL (integer)
CURLOPT_HTTPPROXYTUNNEL (integer)
CURLOPT_FILETIME (integer)
CURLOPT_WRITEFUNCTION (integer)
CURLOPT_READFUNCTION (integer)
CURLOPT_PASSWDFUNCTION (integer)
CURLOPT_HEADERFUNCTION (integer)
CURLOPT_MAXREDIRS (integer)
CURLOPT_MAXCONNECTS (integer)
CURLOPT_CLOSEPOLICY (integer)
CURLOPT_FRESH_CONNECT (integer)
CURLOPT_FORBID_REUSE (integer)
CURLOPT_RANDOM_FILE (integer)
CURLOPT_EGDSOCKET (integer)
CURLOPT_CONNECTTIMEOUT (integer)
CURLOPT_SSL_VERIFYPEER (integer)
CURLOPT_CAINFO (integer)
CURLOPT_COOKIEJAR (integer)
CURLOPT_SSL_CIPHER_LIST (integer)
CURLOPT_BINARYTRANSFER (integer)
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (integer)
CURLCLOSEPOLICY_LEAST_TRAFFIC (integer)
CURLCLOSEPOLICY_SLOWEST (integer)
CURLCLOSEPOLICY_CALLBACK (integer)
CURLCLOSEPOLICY_OLDEST (integer)
CURLINFO_EFFECTIVE_URL (integer)
CURLINFO_HTTP_CODE (integer)
CURLINFO_HEADER_SIZE (integer)
CURLINFO_REQUEST_SIZE (integer)
CURLINFO_TOTAL_TIME (integer)
CURLINFO_NAMELOOKUP_TIME (integer)
CURLINFO_CONNECT_TIME (integer)
CURLINFO_PRETRANSFER_TIME (integer)
CURLINFO_SIZE_UPLOAD (integer)
CURLINFO_SIZE_DOWNLOAD (integer)
CURLINFO_SPEED_DOWNLOAD (integer)
CURLINFO_SPEED_UPLOAD (integer)
CURLINFO_FILETIME (integer)
CURLINFO_SSL_VERIFYRESULT (integer)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (integer)
CURLINFO_CONTENT_LENGTH_UPLOAD (integer)
CURLE_OK (integer)
CURLE_UNSUPPORTED_PROTOCOL (integer)
CURLE_FAILED_INIT (integer)
CURLE_URL_MALFORMAT (integer)
CURLE_URL_MALFORMAT_USER (integer)
CURLE_COULDNT_RESOLVE_PROXY (integer)
CURLE_COULDNT_RESOLVE_HOST (integer)
CURLE_COULDNT_CONNECT (integer)
CURLE_FTP_WEIRD_SERVER_REPLY (integer)
CURLE_FTP_ACCESS_DENIED (integer)
CURLE_FTP_USER_PASSWORD_INCORRECT (integer)
CURLE_FTP_WEIRD_PASS_REPLY (integer)
CURLE_FTP_WEIRD_USER_REPLY (integer)
CURLE_FTP_WEIRD_PASV_REPLY (integer)
CURLE_FTP_WEIRD_227_FORMAT (integer)
CURLE_FTP_CANT_GET_HOST (integer)
CURLE_FTP_CANT_RECONNECT (integer)
CURLE_FTP_COULDNT_SET_BINARY (integer)
CURLE_PARTIAL_FILE (integer)
CURLE_FTP_COULDNT_RETR_FILE (integer)
CURLE_FTP_WRITE_ERROR (integer)
CURLE_FTP_QUOTE_ERROR (integer)
CURLE_HTTP_NOT_FOUND (integer)
CURLE_WRITE_ERROR (integer)
CURLE_MALFORMAT_USER (integer)
CURLE_FTP_COULDNT_STOR_FILE (integer)
CURLE_READ_ERROR (integer)
CURLE_OUT_OF_MEMORY (integer)
CURLE_OPERATION_TIMEOUTED (integer)
CURLE_FTP_COULDNT_SET_ASCII (integer)
CURLE_FTP_PORT_FAILED (integer)
CURLE_FTP_COULDNT_USE_REST (integer)
CURLE_FTP_COULDNT_GET_SIZE (integer)
CURLE_HTTP_RANGE_ERROR (integer)
CURLE_HTTP_POST_ERROR (integer)
CURLE_SSL_CONNECT_ERROR (integer)
CURLE_FTP_BAD_DOWNLOAD_RESUME (integer)
CURLE_FILE_COULDNT_READ_FILE (integer)
CURLE_LDAP_CANNOT_BIND (integer)
CURLE_LDAP_SEARCH_FAILED (integer)
CURLE_LIBRARY_NOT_FOUND (integer)
CURLE_FUNCTION_NOT_FOUND (integer)
CURLE_ABORTED_BY_CALLBACK (integer)
CURLE_BAD_FUNCTION_ARGUMENT (integer)
CURLE_BAD_CALLING_ORDER (integer)
CURLE_HTTP_PORT_FAILED (integer)
CURLE_BAD_PASSWORD_ENTERED (integer)
CURLE_TOO_MANY_REDIRECTS (integer)
CURLE_UNKNOWN_TELNET_OPTION (integer)
CURLE_TELNET_OPTION_SYNTAX (integer)
CURLE_OBSOLETE (integer)
CURLE_SSL_PEER_CERTIFICATE (integer)

Примеры

После того как вы скомпилировали PHP с поддержкой CURL, вы можете начать использовать curl-функций. Основная идея функций CURL - вы инициализируете CURL-сессию с использованием curl_init(), затем можно установить все ваши опции для трансфера через использование curl_exec(), а затем закрыть сессию функцией curl_close(). Вот пример использования CURL-функций для получения страницы example.com в файле:

XIII. Функции платежей Cybercash


Установка

Эти функции доступны, если интерпретатор скомпилирован с опцией --with-cybercash=[DIR].

Содержание
cybercash_base64_decode - base64-декодирование данных для Cybercash
cybercash_base64_encode - base64-кодирование данных для Cybercash
cybercash_decr - дешифровка Cybercash
cybercash_encr - шифровка Cybercash

XIV. Функции Crédit Mutuel CyberMUT


Введение

Это расширение позволяет обрабатывать транзакции кредитных карт с использованием системы Crédit Mutuel CyberMUT (http://www.creditmutuel.fr/centre_commercial/vendez_sur_internet.html).

CyberMUT это популярная во Франции служба Web Payment Service, предоставляемая банком Crédit Mutuel. Если вы находитесь во Франции как иностранец, эти функции вам не подходят.

Использование этих функций почти идентично оригинальным SDK-функциям, за исключением параметров, возвращаемых cybermut_creerformulairecm() и cybermut_creerreponsecm(), которые возвращаются непосредственно функциями в PHP, когда они переданы в ссылке в оригинальных функциях.

Эти функции были введены в PHP 4.0.6.

Примечание: Эти функции предоставляют только ссылку на CyberMUT SDK. Не забудьте прочитать CyberMUT Developers Guide для получения детальной информации о необходимых параметрах.


Установка

Эти функции доступны, если РНР скомпилирован с опцией --with-cybermut[=DIR] , где DIR это местоположение libcm-mac.a и cm-mac.h. Вам потребуется соответствующий SDK для вашей платформы, который может быть выслан вам после подписки на CyberMUT (свяжитесь с ними по Web или придите в ближайший офис Crédit Mutuel).

Содержание
cybermut_creerformulairecm - генерирует HTML-форму запроса на платёж
cybermut_creerreponsecm - генерирует подтверждение (благодарность за) получения платежа
cybermut_testmac - проверяет, не было ли подделки данных, содержащихся в полученном сообщении-подтверждении.

XV. Функции администрирования Cyrus IMAP


Введение

Предупреждение!Эти функции в настоящее время ещё не задокументированы; имеется только список аргументов.

Предопределённые константы

Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.

CYRUS_CONN_NONSYNCLITERAL (integer)
CYRUS_CONN_INITIALRESPONSE (integer)
CYRUS_CALLBACK_NUMBERED (integer)
CYRUS_CALLBACK_NOLITERAL (integer)
Содержание
cyrus_authenticate - аутентификация относительно сервера Cyrus IMAP
cyrus_bind - связывает обратные вызовы с Cyrus IMAP-соединением
cyrus_close - закрывает соединение с cyrus-сервером
cyrus_connect - соединяет с Cyrus IMAP-сервером
cyrus_query - высылает запрос серверу Cyrus IMAP
cyrus_unbind - отвязывает ...

XVIII. Функции дат и времени


Введение

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

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


Требования

Эти функции всегда доступны как часть стандартного модуля.


Установка

Нет специальных требований по установке этих функций, так как они являются частью ядра РНР.


Конфигурация

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

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


Предопределённые константы

Это расширение не определяет никаких констант.

Содержание
checkdate - проверяется григорианское время/дата
date - форматирует местное время/дату
getdate - получает информацию о дате/времени
gettimeofday - получает текущее время
gmdate - форматирует GMT/CUT дату/время
gmmktime - получает UNIX timestamp для GMT-даты
gmstrftime - форматирует GMT/CUT дату/время в соответствии с локальными установками
localtime - получает локальное время
microtime - возвращает текущий UNIX timestamp с микросекундами
mktime - получает UNIX timestamp для даты
strftime - форматирует местное время/дату в соответствии с локальными установками
strtotime - разбирает текстуальное описание на английском времени/даты в UNIX timestamp
time - возвращает текущий UNIX timestamp

XVII. Функции абстрактного слоя баз данных
(в dbm-стиле)


Введение

Эти функции являются фундаментом для доступа к БД в стиле Berkeley DB.

Имеется общий абстрактный слой для различных БД на основе файлов. Сама по себе функциональность ограничена обычным поднабором возможностей, поддерживаемых современными БД, такими как Sleepycat Software's DB2. (Это не конфликтует с программой DB2 IBM, которая поддерживается с помощью ODBC-функций.)


Требования

Поведение различных аспектов зависит от реализации конкретной БД. Такие функции как dba_optimize() и dba_sync() могут выполнять свои действия с одной БД и не выполнять - с другими. вы должны загрузить и установить поддерживаемые dba-обработчики.

Таблица 1. Список обработчиков DBA
Обработчик ПримечанияdbmDbm это самый старый (оригинальный) тип БД в стиле Berkeley DB. Вы должны исключить его использование, если это возможно. Мы не поддерживаем функции совместимости, встроенные в DB2 и gdbm, поскольку они совместимы только на уровне исходного кода, но не могут обрабатывать оригинальный dbm-формат. ndbmNdbm это тип более новый и гибкий, нежели dbm. Но в нём ещё имеются некоторые ограничения dbm (поэтому он не рекомендуется).gdbm Gdbm это GNU менеджер БД. db2DB2 это Sleepycat Software'sDB2. Он описан как "программный набор утилит, предоставляющий встроенную высокопроизводительную поддержку БД для самостоятельных и клиент/серверных приложений".db3DB3 это Sleepycat Software's DB3. cdbCdb это "быстрый, надёжный, небольшой пакет для создания и чтения константных БД." Этот - от автора qmail и находится здесь. Поскольку это константа, мы поддерживаем только операции чтения.

При использовании функции dba_open() или dba_popen() имя одного из обработчиков должно быть предоставлено в качестве аргумента. Действующий список обработчиков выводится вызовом функции phpinfo().


Установка

Используя опцию конфигурации --enable-dba=shared, вы можете построить динамически загружаемый модуль, чтобы сделать возможной поддержку в РНР баз данных dbm-стиля. Вы должны также добавить поддержку для как минимум одного из следующих обработчиков, специфицировав переключатель конфигурации --with-XXXX в строке конфигурации вашего PHP.

Таблица 2. Поддерживаемые обработчики DBA
ОбработчикПереключатель конфигурации dbmдля включения поддержки dbm добавьте --with-dbm[=DIR].ndbmдля включения поддержки ndbm добавьте --with-ndbm[=DIR].gdbmдля включения поддержки gdbm добавьте --with-gdbm[=DIR].db2для включения поддержки db2 добавьте --with-db2[=DIR].db3для включения поддержки db3 добавьте --with-db3[=DIR].cdbдля включения поддержки cdb добавьте --with-cdb[=DIR].

Конфигурация

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

Функции dba_open() и dba_popen() возвращают дескриптор специфицированного файла БД, который используется при вызовах всех других функций dba.


Предопределённые константы

Это расширение не определяет никаких констант.


Примеры

XIX. Функции dBase


Введение

Эти функции дают вам доступ к записям БД в формате dBase(dbf).

Не поддерживается доступ к индексам или полям memo. Также отсутствует поддержка блокировки. Вполне вероятно, что два процесса конкурирующих web-серверов, модифицирующие один и тот же файл dBase, разрушат вашу БД.

dBase-файлы это простые последовательные файлы записей фиксированной длины. Записи присоединяются в конец файла, а удалённые записи сохраняются, пока вы не вызовете dbase_pack().

Мы не рекомендуем использовать dBase-файлы в качестве действующей БД. Вместо этого выберите нормальный SQL-сервер; обычно для работы с РНР выбирают MySQL или Postgres. dBase поддерживается, чтобы дать вам возможность импортировать и экспортировать данные в и из вашей web-БД, поскольку этот формат файлов обычно понимается в Windows spreadsheets и в органайзерах.


Установка

Чтобы использовать эти функции, вы обязаны скомпилировать РНР с опцией --enable-dbase.


Конфигурация

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

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


Предопределённые константы

Это расширение не определяет никаких констант.

Содержание
dbase_add_record - добавляет запись в БД dBase
dbase_close - закрывает БД dBase
dbase_create - создаёт БД dBase
dbase_delete_record - удаляет запись из БД dBase
dbase_get_record_with_names - получает запись из БД dBase как ассоциативный массив
dbase_get_record - получает запись из БД dBase
dbase_numfields - определяет, сколько полей в БД dBase
dbase_numrecords - определяет, сколько записей в БД dBase
dbase_open - открывает БД dBase
dbase_pack - упаковывает БД dBase
dbase_replace_record - заменяет запись в БД dBase

XX. Функции DBM


Введение

Эти функции позволяют сохранять записи в БД dbm-стиля. Этот тип БД (поддерживаемый Berkeley DB, GDBM и некоторыми системными библиотеками, а также встроенной библиотекой flatfile) хранит пары key/value (в отличие от полноценных записей реляционных БД).

Примечание: однако поддержка dbm не рекомендуется для дальнейшего использования, и мы советуем использовать вместо этого Функции абстрактного слоя БД (dbm-стиль).


Требования

Для использования этих функций вы должны скомпилировать РНР с поддержкой соответствующих БД. См. список поддерживаемых БД.


Установка

Чтобы использовать эти функции, вы обязаны скомпилировать РНР с поддержкой dbm, использовав опцию --with-db. Кроме того, вы обязаны гарантировать поддержку соответствующей БД или можете использовать некоторые системные библиотеки.


Конфигурация

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

Функция dbmopen() возвращает идентификатор БД, который используется другими dbm-функциями.


Предопределённые константы

Это расширение не определяет никаких констант.


Примеры

XXII. Функции DB++

Предупреждение!Это ЭКСПЕРИМЕНТАЛЬНОЕ расширение. Поведение этого расширения и имена его функций, а также всё иное, задокументированное для данного расширения, может измениться в будущих релизах РНР без уведомления. Вы предупреждены и можете использовать это расширение, под вашу ответственность.

Введение

db++, создавалась немецкой компанией Concept asa как система реляционных БД с высокой производительностью и низким расходом памяти и дискового пространства. Предоставляя SQL как дополнительный язык интерфейса, она в действительности не является SQL-БД, а предоставляет свой собственный язык запросов AQL, который больше использует реляционную алгебру, чем SQL.

Concept asa всегда интересовалась поддержкой языков открытых ресурсов, db++ имела интерфейсы вызова для Perl и Tcl уже несколько лет назад и использует Tcl как язык своих внутренних хранимых процедур.


Требования

Это расширение основано на внешних клиентских библиотеках, поэтому вы должны иметь клиент db++, установленный на системе, где вы намереваетесь использовать данное расширение.

Concept asa предоставляет db++ демо-версии и документацию для Linux, некоторых других вариантов UNIX. Имеется также версия db++ для Windows, но данное расширение его не поддерживает (пока).


Установка

Чтобы построить это расширение самостоятельно, вам необходимо иметь клиентские библиотеки db++ и header-файлы, установленные в вашей системе (они включены по умолчанию в архивы инсталяции db++). Вы должны запустить configure с опцией --with-dbplus, чтобы построить это расширение.

configure ищет клиентские библиотеки и header-файлы ниже путей по умолчанию /usr/dbplus, /usr/local/dbplus и /opt/dblus. Если вы должны установить db++ в другом месте, необходимо добавить путь установки в опции configure примерно так: --with-dbplus=/your/installation/path


Конфигурация

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

dbplus_relation

Большинство функций db++ работают с или возвращают ресурсы dbplus_relation.
dbplus_relation это дескриптор для хранимой реляции или для реляции, генерируемой как результат запроса.


Предопределённые константы

Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.

Коды ошибок db++

Таблица 1. Коды ошибок DB++
PHP-константаdb++ константа ЗначениеDBPLUS_ERR_NOERR (integer)ERR_NOERRОтсутствие ошибки DBPLUS_ERR_DUPLICATE (integer)ERR_DUPLICATE Попытка вставить дублирующую пару/tuple DBPLUS_ERR_EOSCAN (integer) ERR_EOSCANКонец сканирования от rget() DBPLUS_ERR_EMPTY (integer) ERR_EMPTYПустая реляция (server) DBPLUS_ERR_CLOSE (integer) ERR_CLOSEСервер не может закрыть DBPLUS_ERR_WLOCKED (integer)ERR_WLOCKED Запись/record блокирована от записи DBPLUS_ERR_LOCKED (integer) ERR_LOCKEDРеляция уже была блокирована DBPLUS_ERR_NOLOCK (integer) ERR_NOLOCKРеляция не может быть блокирована DBPLUS_ERR_READ (integer) ERR_READОшибка при чтении реляции DBPLUS_ERR_WRITE (integer) ERR_WRITEОшибка записи в реляцию DBPLUS_ERR_CREATE (integer) ERR_CREATEНеудача системного вызова Create() DBPLUS_ERR_LSEEK (integer) ERR_LSEEKНеудача системного вызова Lseek() DBPLUS_ERR_LENGTH (integer) ERR_LENGTHПара/Tuple превзошла максимальную длину DBPLUS_ERR_OPEN (integer) ERR_OPENНеудача системного вызова Open() DBPLUS_ERR_WOPEN (integer) ERR_WOPENРеляция уже открыта для записи DBPLUS_ERR_MAGIC (integer) ERR_MAGICФайл не является реляцией DBPLUS_ERR_VERSION (integer) ERR_VERSIONФайл является самой старой реляцией DBPLUS_ERR_PGSIZE (integer) ERR_PGSIZEРеляция использует другой размер страниц DBPLUS_ERR_CRC (integer) ERR_CRCНеверный crc в суперстранице/superpage DBPLUS_ERR_PIPE (integer) ERR_PIPEРеляция по каналу требует lseek() DBPLUS_ERR_NIDX (integer) ERR_NIDXСлишком много вторичных индексов DBPLUS_ERR_MALLOC (integer) ERR_MALLOCНеудача вызова Malloc() DBPLUS_ERR_NUSERS (integer) ERR_NUSERSОшибка использования max users DBPLUS_ERR_PREEXIT (integer) ERR_PREEXITВызвана неверным использованием DBPLUS_ERR_ONTRAP (integer) ERR_ONTRAPВызвана по сигналу DBPLUS_ERR_PREPROC (integer) ERR_PREPROCОшибка препроцессора DBPLUS_ERR_DBPARSE (integer) ERR_DBPARSEОшибка разборщика DBPLUS_ERR_DBRUNERR (integer) ERR_DBRUNERRОшибка выполнения в db DBPLUS_ERR_DBPREEXIT (integer) ERR_DBPREEXITусловие выхода вызвано процедурой prexit() * DBPLUS_ERR_WAIT (integer) ERR_WAITНемного подождите (только Simple) DBPLUS_ERR_CORRUPT_TUPLE (integer) ERR_CORRUPT_TUPLEКлиент выслал нарушенную пару DBPLUS_ERR_WARNING0 (integer) ERR_WARNING0Утилиты Simple вычислили нефатальную ошибку, которая была исправлена DBPLUS_ERR_PANIC (integer) ERR_PANIC Сервер не может die (закончить выполнение), но после ошибки высылает ERR_PANIC всем клиентам DBPLUS_ERR_FIFO (integer) ERR_FIFOНе может создать fifo DBPLUS_ERR_PERM (integer) ERR_PERMДоступ запрещён DBPLUS_ERR_TCL (integer) ERR_TCLTCL_error DBPLUS_ERR_RESTRICTED (integer) ERR_RESTRICTEDТолько два пользователя DBPLUS_ERR_USER (integer) ERR_USERОшибка при использовании библиотеки программистом приложения DBPLUS_ERR_UNKNOWN (integer) ERR_UNKNOWN 
Содержание
dbplus_add - добавляет пару/tuple в реляцию
dbplus_aql - выполняет AQL-запрос/query
dbplus_chdir - получает/устанавливает виртуальную текущую директорию базы данных
dbplus_close - закрывает реляцию
dbplus_curr - получает текущую пару из реляции
dbplus_errcode - получает строку ошибки для данного errorcode или последней ошибки
dbplus_errno - получает код ошибки последней операции
dbplus_find - устанавливает ограничение/constraint в реляции
dbplus_first - получает первую пару из реляции
dbplus_flush - зачищает все изменения, сделанные в реляции
dbplus_freealllocks - освобождает все блокировки, удерживаемые данным клиентом
dbplus_freelock - освобождает блокировку от записи пары
dbplus_freerlocks - освобождает все блокировки пар в данной реляции
dbplus_getlock - получает блокировку от записи для пары
dbplus_getunique - получает уникальный номер id для реляции
dbplus_info - ???
dbplus_last - получает последнюю пару из реляции
dbplus_lockrel - запрашивает блокировку от записи в реляции
dbplus_next - получает следующую пару реляции
dbplus_open - открывает реляционный файл
dbplus_prev - получает предыдущую пару реляции
dbplus_rchperm - изменяет права доступа к реляции
dbplus_rcreate - создаёт новую реляцию DB++
dbplus_rcrtexact - создаёт точную, но пустую копию реляции, включая индексы
dbplus_rcrtlike - создаёт пустую копию реляции с индексами по умолчанию
dbplus_resolve - разрешает host-информацию для реляции
dbplus_restorepos - ???
dbplus_rkeys - специфицирует новый первичный ключ/primary key реляции
dbplus_ropen - открывает локально реляционный файл
dbplus_rquery - выполняет локальный (сырой/raw) AQL-запрос
dbplus_rrename - переименовывает реляцию
dbplus_rsecindex - создаёт в реляции новый вторичный индекс
dbplus_runlink - удаляет реляцию из файловой системы
dbplus_rzap - удаляет все пары из реляции
dbplus_savepos - ???
dbplus_setindex - ???
dbplus_setindexbynumber - ???
dbplus_sql - выполняет SQL query
dbplus_tcl - выполняет TCL-код на стороне сервера
dbplus_tremove - удаляет пару и возвращает новую текущую пару
dbplus_undo - ???
dbplus_undoprepare - ???
dbplus_unlockrel - снимает блокировку с реляции
dbplus_unselect - удаляет ограничение с реляции
dbplus_update - обновляет специфицированную пару реляции
dbplus_xlockrel - запрашивает исключительную блокировку для реляции
dbplus_xunlockrel - освобождает исключительную блокировку в реляции

XXI. Функции dbx


Введение

Модуль dbx это слой абстракции БД (db 'X', где 'X' это поддерживаемая БД). Функции dbx дают вам доступ ко всем поддерживаемым БД через использование простого соглашения по вызовам.
dbx-функции сами по себе являются не интерфейсом с БД, а интерфейсом с модулями, которые используются для поддержки этих БД.


Требования

Чтобы использовать БД с dbx-модулем, этот модуль обязан быть либо привязан, либо загружен в PHP, и модуль базы данных обязан поддерживаться этим dbx-модулем. В настоящее время поддерживаются следующие БД, а остальные - пока нет (надеюсь, это будет скоро):

FrontBase (начиная с PHP 4.1.0)

Microsoft SQL Server

MySQL

ODBC

PostgreSQL

Sybase-CT (начиная с PHP 4.2.0)

Документацию для добавления поддержки других БД в dbx можно найти по адресу: http://www.guidance.nl/php/dbx/doc/.


Установка

Для того чтобы эти функции стали доступны, вы обязаны скомпилировать РНР с опцией --enable-dbx и всеми опциями для баз данных, которые будут использоваться, например, для MySQL вы обязаны также специфицировать --with-mysql=[DIR]. Чтобы включить поддержку других БД в dbx-модуле, обратитесь к соответствующей документации по этим БД.


Конфигурация

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

В dbx-модуле используются ресурсы двух типов. Первый - это link-object для соединения с БД, второй - result-object, содержащий результат выполнения запроса.


Предопределённые константы

Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.

DBX_MYSQL (integer)
DBX_ODBC (integer)
DBX_PGSQL (integer)
DBX_MSSQL (integer)
DBX_FBSQL (integer)
DBX_OCI8 (integer)
DBX_SYBASECT (integer)
DBX_PERSISTENT (integer)
DBX_RESULT_INFO (integer)
DBX_RESULT_INDEX (integer)
DBX_RESULT_ASSOC (integer)
DBX_CMP_NATIVE (integer)
DBX_CMP_TEXT (integer)
DBX_CMP_NUMBER (integer)
DBX_CMP_ASC (integer)
DBX_CMP_DESC (integer)
Содержание
dbx_close - закрывает открытое соединение/БД
dbx_compare - сравнивает два ряда с целью сортировки
dbx_connect - открывает соединение/БД
dbx_error - выдаёт сообщение об ошибке в последнем вызове функции в модуле (а не просто в соединении)
dbx_query - отправляет запрос/query и получает все результаты (если имеются)
dbx_sort - сортирует результат из dbx_query специальной функцией сортировки

XXIII. Функции Direct IO


Введение

PHP поддерживает функции direct io, как описано в стандарте Posix Standard (Раздел 6), для выполнения функций I/O на уровне более низком, чем I/O-функции потока языка C (fopen, fread,..).


Требования

Эти функции всегда доступны как часть стандартного модуля.


Установка

Чтобы эти функции работали, вы должны сконфигурировать РНР с опцией --enable-dio.


Конфигурация

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов

Этим расширением определён один тип ресурсов: дескриптор файла, возвращаемый функцией dio_open().


Предопределённые константы

Это расширение не определяет никаких констант.

Содержание
dio_close - закрывает дескриптор файла, заданный в fd
dio_fcntl - выполняет fcntl c-библиотеки в fd
dio_open - открывает новый файл filename со специфицированными флагами правами доступа и правами создания для режиме/mode
dio_read - читает n байт из fd и возвращает их; если n не специфицирован, читает блок 1k
dio_seek - ищет pos в fd, в которой
dio_stat - получает stat-информацию о дескрипторе файла fd
dio_truncate - усекает дескриптор файла fd на offset байтов
dio_write - записывает данные в fd с возможным усечением на определённую длину

XXIV. Функции директории


Введение


Требования

Эти функции всегда доступны как часть стандартного модуля.


Установка

Нет специальных требований по установке этих функций, так как они являются частью ядра РНР.


Конфигурация

Это расширение не определяет никаких директив конфигурации.


Типы ресурсов


Предопределённые константы

Это расширение не определяет никаких констант.


См. также

О связанных функциях, таких как dirname(), is_dir(), mkdir() и rmdir(), см. раздел Функции файловой системы.

Содержание
chdir - сменить директорию
chroot - сменить root-директорию
dir - класс директории
closedir - закрывает дескриптор директории
getcwd - получает текущую рабочую директорию
opendir - открывает дескриптор директории
readdir - читает вхождение из дескриптора директории
rewinddir - переходит в начало дескриптора директории

XXV. Функции DOM XML


Введение

Предупреждение!Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, имена его функций и всё, что задокументировано, может измениться в последующих релизах РНР без предупреждения. Вы предупреждены и можете использовать это расширение только под вашу ответственность.

Расширение domxml может быть переопределено в версии PHP 4.3.0 в пользу лучшего соответствия стандарту DOM. В этом расширении всё ещё имеются некоторые старые функции, но они более не должны использоваться. Особо нужно исключить не-объектно-ориентированные функции.

Это расширение позволяет работать с XML-документами с помощью DOM API. Оно также предоставляет функцию domxml_xmltree() для включения всего XML-документа в дерево PHP-объектов. В настоящее время это дерево должно считаться read-only - вы можете его модифицировать, но это не имеет смысла, поскольку DomDocument_dump_mem() не может быть применена. Следовательно, если вы хотите читать XML-файл и записывать модифицированную его версию, используйте функции DomDocument_create_element(), DomDocument_create_text_node(), set_attribute(), etc. и в конце - DomDocument_dump_mem().


Требования

Это расширение использует GNOME xml-библиотеки. Загрузите и установите эту библиотеку. Вам понадобится как минимум версия libxml-2.2.7.


Установка

Это расширение доступно, если PHP был сконфигурирован с опцией --with-dom=[DIR].


Не рекомендуемые функции

Имеются некоторые функции, которые не вписываются стандарт DOM и не должны поэтому использоваться; они перечислены в следующей таблице. Функция DomNode_append_child() изменила поведение. Она добавляет теперь потомка, а не родственника. Если это нарушает работу вашего приложения, используйте не-DOM-функцию DomNode_append_sibling().

Таблица 1. Не рекомендуемые функции и замены для них
Старая функция Новая функцияxmldoc domxml_open_mem()xmldocfiel domxml_open_file() domxml_new_xmldocdomxml_new_doc() domxml_dump_memDomDocument_dump_mem() domxml_dump_mem_fileDomDocument_dump_file() DomDocument_dump_mem_fileDomDocument_dump_file() DomDocument_add_root DomDocument_create_element() с последующей DomNode_append_child()DomDocument_dtd DomDocument_doctype()DomDocument_root DomDocument_document_element() DomDocument_childrenDomNode_child_nodes() DomDocument_imported_nodeЗамены нет.DomNode_add_child Создать новый узел с помощью, например, DomDocument_create_element() и добавить его функцией DomNode_append_child().DomNode_children DomNode_child_nodes()DomNode_parent DomNode_parent_node()DomNode_new_child Создать новый узел с помощью, например, DomDocument_create_element() и добавить его функцией DomNode_append_child().DomNode_set_content Создать новый узел с помощью, например, DomDocument_create_text_node() и добавить его функцией DomNode_append_child().DomNode_get_content Содержимое является просто текстовым узлом, и доступ к нему может быть получен с помощью DomNode_child_nodes(). DomNode_set_contentСодержимое является просто текстовым узлом и может добавлено с помощью DomNode_append_child().

Предопределённые константы

Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.

Таблица 2. XML-константы
КонстантаЗначение ОписаниеXML_ELEMENT_NODE (integer)1Узел является элементом XML_ATTRIBUTE_NODE ( integer)2Узел является атрибутомXML_TEXT_NODE (integer)3Узел является блоком текста XML_CDATA_SECTION_NODE( integer)4 XML_ENTITY_REF_NODE (integer)5  XML_ENTITY_NODE(integer) 6Узел является мнемоникой вроде &nbsp;XML_PI_NODE (integer)7Узел является инструкцией процессинга XML_COMMENT_NODE( integer)8Узел является комментарием XML_DOCUMENT_NODE(integer) 9Узел является документомXML_DOCUMENT_TYPE_NODE (integer)10  XML_DOCUMENT_FRAG_NODE(integer) 11 XML_NOTATION_NODE (integer)12  XML_GLOBAL_NAMESPACE(integer)1  XML_LOCAL_NAMESPACE (integer)2  XML_HTML_DOCUMENT_NODE(integer)   XML_DTD_NODE (integer)   XML_ELEMENT_DECL_NODE (integer)   XML_ATTRIBUTE_DECL_NODE (integer)   XML_ENTITY_DECL_NODE (integer)   XML_NAMESPACE_DECL_NODE (integer)   XML_ATTRIBUTE_CDATA (integer)   XML_ATTRIBUTE_ID (integer)   XML_ATTRIBUTE_IDREF (integer)   XML_ATTRIBUTE_IDREFS (integer)   XML_ATTRIBUTE_ENTITY (integer)   XML_ATTRIBUTE_NMTOKEN (integer)   XML_ATTRIBUTE_NMTOKENS (integer)   XML_ATTRIBUTE_ENUMERATION (integer)   XML_ATTRIBUTE_NOTATION (integer)   XPATH_UNDEFINED (integer)   XPATH_NODESET (integer)   XPATH_BOOLEAN (integer)   XPATH_NUMBER (integer)   XPATH_STRING (integer)   XPATH_POINT (integer)   XPATH_RANGE (integer)   XPATH_LOCATIONSET (integer)   XPATH_USERS (integer)   XPATH_NUMBER (integer)  

Классы

API этого модуля следует, насколько возможно, стандарту DOM Level 2. Поэтому данный API является полностью объектно-ориентированным. Хорошо было бы иметь доступ к стандарту DOM при использовании этого модуля. Хотя данный API является объектно-ориентированным, имеется много функций, которые можно вызывать не-объектно-ориентированным путём с помощью передачи объекта, с которым работают, как первого аргумента. Эти функции в основном предназначены для сохранения совместимости со старыми версиями расширения, но больше не рекомендуются для использования в новых разработках.

Этот API отличается от официального DOM API двумя вещами. Во-первых, все атрибуты класса реализованы как функции  с тем же именем, а во-вторых - имена  функций следую соглашению PHP по именованию. Это значит, что DOM-функция lastChild() будет записана как last_child().

Этот модуль определяет несколько классов, которые перечислены - включая их методы - в следующих таблицах. Классы с эквивалентом в DOM Standard именуются DOMxxx.

Таблица 3. Список классов
Имя класса Родительский классDomAttributeDomNodeDomCData DomNodeDomCommentDomCData : DomNodeDomDocument DomNodeDomDocumentTypeDomNodeDomElementDomNode DomEntityDomNodeDomEntityReferenceDomNode DomProcessingInstructionDomNodeDomTextDomCData : DomNode ParserПока ещё называется DomParserXPathContext 

Таблица 4. Класс DomDocument (DomDocument : DomNode)
Имя методаИмя функцииПримечание doctypeDomDocument_doctype()  document_elemnent DomDocument_document_element()  create_elementDomDocument_create_element()  create_text_node DomDocument_create_text_node()  create_commentDomDocument_create_comment()  create_cdata_section DomDocument_create_cdata_section()  create_processing_instruction DomDocument_create_processing_instruction()  create_attribute DomDocument_create_attribute()  create_entity_reference DomDocument_create_entity_reference()  get_elements_by_tagname DomDocument_get_elements_by_tagname()  get_element_by_idDomDocument_get_element_by_id()  dump_memDomDocument_dump_mem() не DOM стандартdump_file DomDocument_dump_file()не DOM стандартhtml_dump_mem DomDocument_html_dump_mem() не DOM стандартxpath_initxpath_initне DOM стандарт xpath_new_contextxpath_new_contextне DOM стандартxptr_new_context xptr_new_contextне DOM стандарт

Таблица 5. Класс DomElement (DomElement : DomNode)
Имя метода Имя функцииПримечаниеtagname DomElement_tagname()  get_attributeDomElement_get_attribute()  set_attribute DomElement_set_attribute() remove_attribute DomElement_remove_attribute()  get_attribute_nodeDomElement_get_attribute_node()  set_attribute_node DomElement_set_attribute_node()  get_elements_by_tagname DomElement_get_elements_by_tagname() has_attribute DomElement_has_attribute() 

Таблица 6. Класс DomNode
Имя метода ПримечаниеDomNode_node_name()  DomNode_node_value()  DomNode_node_type()  DomNode_last_child()  DomNode_first_child()  DomNode_child_nodes()  DomNode_previous_sibling()  DomNode_next_sibling()  DomNode_parent_node()  DomNode_owner_document()  DomNode_insert_before()  DomNode_append_child()  DomNode_append_sibling() Нет в DOM-стандарте. Эта функция эмулирует бывшее поведение DomNode_append_child(). DomNode_remove_child()  DomNode_has_child_nodes()  DomNode_has_attributes()  DomNode_clone_node()  DomNode_attributes()  DomNode_unlink_node()Нет в DOM-стандарте DomNode_replace_node()Нет в DOM-стандарте DomNode_set_content() Нет в DOM-стандарте, не рекомендуется DomNode_get_content()Нет в DOM-стандарте, не рекомендуется DomNode_dump_node()Нет в DOM-стандарте DomNode_is_blank_node()Нет в DOM-стандарте

Таблица 7. Класс DomAttribute (DomAttribute : DomNode)
Имя метода Примечаниеname DomAttribute_name() value DomAttribute_value()  specifiedDomAttribute_specified()  

Таблица 8. Класс DomProcessingInstruction (DomProcessingInstruction : DomNode)
Имя методаИмя функцииПримечание target DomProcessingInstruction_target() data DomProcessingInstruction_data()  

Таблица 9. Класс Parser
Имя методаИмя функцииПримечаниеadd_chunk Parser_add_chunk() endParser_end()  <

Таблица 10. Класс XPathContext
Имя методаИмя функцииПримечание evalXPathContext_eval() eval_expression XPathContext_eval_expression() register_ns XPathContext_register_ns() 

Таблица 11. Класс DomDocumentType (DomDocumentType : DomNode)
Имя методаИмя функцииПримечаниеname DomDocumentType_name()  entitiesDomDocumentType_entities()  notationsDomDocumentType_notations()  public_id DomDocumentType_public_id() system_id DomDocumentType_system_id()  internal_subsetDomDocumentType_internal_subset()  

Класс DomDtd происходит от DomNode. DomComment происходит от DomCData.


Примеры

Многие примеры в этом справочнике требуют строки xml. Вместо повторения этой строки в каждом примере, она будет помещена в файл и включена в каждый пример. Этот include-файл показан в следующем разделе-примере. Вы можете также создать xml-документ и читать его с помощью DomDocument_open_file().

Пример 1. Include-файл example.inc с xml-строкой

XXVI. Функции .NET


Введение

Предупреждение!Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, имена его функций и всё, что задокументировано, может измениться в последующих релизах РНР без предупреждения. Вы предупреждены и можете использовать это расширение только под вашу ответственность.

Содержание
dotnet_load - загружает модуль DOTNET